Javascript JSON到数组-如何解析这种结构?
我的JSON对象具有以下结构:Javascript JSON到数组-如何解析这种结构?,javascript,jquery,json,Javascript,Jquery,Json,我的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 } ]
{ 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数据在键和值周围有引号。很抱歉,我之前没有提到它。尝试使用getJsonArray
JSONObject json = (JSONObject) JSONSerializer.toJSON(response);
JSONArray array= json.getJSONArray("key");
或
getString(“键”)
在适用的情况下您的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"
}
]
}
尝试引用每个键和值:
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);
我希望这会有所帮助。您最好将此数据结构正确设置为json格式。这将使你的工作更轻松!你能解释一下数据是如何生成的吗?你的json是无效的:输入的键名必须是QUOTEDTANKS。请参阅我的编辑。恐怕这不起作用,因为数据的格式不像json。主要问题是,在任何字符串周围都没有双引号。非常确定OP使用的是JavaScript,OP也要求使用JavaScript。