【发布时间】:2014-03-17 16:40:51
【问题描述】:
我正在为 java 中的 json 解析而苦苦挣扎。
是否有可能在 java 中生成一个随机的、非标准化的 json 文件的表示?
我尝试使用 gson,但我并不真正了解这是否可能以及如何可能。
所以 jsonFile 可能看起来像这样:
{
"id":16875,
"position":[1,2,5,7],
"metadata":{
"color":"blue",
"id": "84779jh",
"more":{ "some":"randomdata","absolutly":"noStructure"}
}
任何键值对都是可能的,并且 json 文件可以嵌套任意多深。我需要从中获取类似 java 对象的东西才能将其与另一个 json 文件合并。我只需要元数据部分,其他的可以忽略。
那么任何人有任何想法我可以如何做到这一点吗?我会很感激任何帮助:)
上面的json合并了(这是父节点,所以我们保留他的id和位置,只合并元数据)
{
"id":16zut,
"position":[1,2,5,7],
"metadata":{
"color":"green",
"id": "84ergfujh",
"more":{
"some":"randomdata",
"even":"more",
"absolutly":"noStructure"
},
"tags":[1,2,3,4,6,8,f7,h,j,f]
}
应该是:
{
"id":16zut,
"position":[1,2,5,7],
"metadata":{
"color":["blue", "green"],
"id": ["84779jh","84ergfujh]",
"more":{ "some":"randomdata","absolutly":"noStructure","even":"more"}
"tags":[1,2,3,4,6,8,f7,h,j,f]
}
提前致谢,祝您有美好的一天。
【问题讨论】:
-
使用 Gson 或 Jackson,您可以将您的 Json 解组为代表整个结构的
Map<String, Object>。我不太确定这个问题在问什么。 -
如果它是嵌套的,那么地图中只会有另一张地图,对吧?能给个短代码sn-p吗?
-
Here's the first result on Google。 Google 是您的朋友。
-
完全合并是什么意思?
-
如果结构真的那么随意,您应该得到
JsonNode(Jackson) 或JsonElement(Gson) 的结果。请注意,虽然使用 Jackson 导航 JSON 要容易得多。
标签: java json random merge dynamicobject