我的要求是将重复的术语转换为json字符串中的数组。
{
"ExtendedData":{
"OrderRecord":{
"ABC_OrderRG":{
"ABC_OrderRGLvl1":{
"ABC_OrderRGLvl1String":"A"
},
"ABC_OrderRGLvl1":{
"ABC_OrderRGLvl1String":"B",
},
}
}
}
}
我想将重复的术语"ABC_OrderRGLvl1"
转换为数组,就像这样。
{
"ExtendedData":{
"OrderRecord":{
"ABC_OrderRG":{
"ABC_OrderRGLvl1":[
{
"ABC_OrderRGLvl1String":"A"
},
{
"ABC_OrderRGLvl1String":"B",
}
]
}
}
}
}
我一直在使用org.json.JSONObject,它在putOnce中失败并且出现重复的Key错误。
我能想到的解决方案是编写自己的解析器。有没有更好的建议或任何现有的实用程序?
答案 0 :(得分:0)
首先解析这样的JSON的结果可能是不可预测的 RFC 其中说
当对象中的名称不唯一时,接收此类对象的软件的行为是不可预测的
这样做的一种方法是使用Jackson Streaming API。实例化jsonparser并通过令牌读取json令牌并编写自己的逻辑来处理重复键 http://wiki.fasterxml.com/JacksonInFiveMinutes