[英]JSON to array - How to parse for such a structure?
My JSON object has the following structure : 我的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
}
]
}
I tried using a simple json.parse but it doesnt work. 我尝试使用一个简单的json.parse,但它不起作用。 With such a structure how should i go about parsing so that i can safely iterate over each instances of key and display all keya-valuea,keyb-valueb.. pairs for values of key?
有了这样的结构,我应该如何进行解析,以便可以安全地遍历key的每个实例,并显示key值的所有keya-valuea,keyb-valueb ..对? Many thanks!
非常感谢!
EDIT : I actually omitted quotes on purpose. 编辑:我实际上是故意省略了引号。 The original JSON data HAS quotes around keys and values.Sorry i didnt mention it earlier.
原始的JSON数据已在键和值周围加引号。抱歉,我之前没有提到它。
Try using getJsonArray 尝试使用getJsonArray
JSONObject json = (JSONObject) JSONSerializer.toJSON(response);
JSONArray array= json.getJSONArray("key");
or getString("key");
或
getString("key");
where applicable 适用时
Your JSON is invalid, you need the double quotes and comma after your array, when you have a correct JSON you could use JSON.parse
您的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"
}
]
}
try to quote each key and value: 尝试引用每个键和值:
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);
I hope this helps. 我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.