我的JSON对象具有以下结构:
{ key :
[
{keya1:value1,
keya2:value2,
keya3:[value31,value32...]
keya4:value4
},
{keyb1:value1,
keyb2:value2,
keyb3:[value31,value32...]
keyb4:value4
},
...
..
{keys1:value1,
keys2:value2,
keys3:[value31,value32...]
keys4:value4
}
]
}
我尝试使用简单的json.parse,但它不起作用。 有了这样的结构,我该如何进行解析,以便我可以安全地遍历每个键的实例并显示key的值的所有keya-valuea,keyb-valueb ..对? 非常感谢!
编辑:我实际上是故意忽略了引号。原始的JSON数据引用了键和值。我之前没有提到它。答案 0 :(得分:2)
尝试使用getJsonArray
JSONObject json = (JSONObject) JSONSerializer.toJSON(response);
JSONArray array= json.getJSONArray("key");
适用时或getString("key");
答案 1 :(得分:0)
您的JSON无效,您需要在数组后使用双引号和逗号,当您使用正确的JSON时可以使用JSON.parse
{ "key" :
[{
"keya1":"value1",
"keya2":"value2",
"keya3":["value31","value32..."],
"keya4":"value4"
},
{
"keyb1":"value1",
"keyb2":"value2",
"keyb3":["value31","value32..."],
"keyb4":"value4"
},
{
"keys1":"value1",
"keys2":"value2",
"keys3":["value31","value32..."],
"keys4":"value4"
}
]
}
答案 2 :(得分:0)
尝试引用每个键和值:
var str = '{ key : \
[ \
{\
keya1:value1, \
keya2:value2, \
keya3:[value31,value32], \
keya4:value4 \
}, \
{\
keyb1:value1, \
keyb2:value2, \
keyb3:[value31,value32], \
keyb4:value4 \
}, \
{\
keys1:value1, \
keys2:value2, \
keys3:[value31,value32], \
keys4:value4 \
} \
] \
}';
var pattern=/(\w+\d*)/ig;
var json=str.replace(pattern, '"$1"');
var parsedJSON=JSON.parse(json)
console.log(parsedJSON);
我希望这会有所帮助。