我目前遇到这个奇怪的问题。
我有一个有效的 JSON 对象,如下所示:
var myjson = '[{"text": {"tag": "question","content": "question content 1"}}, {"text": {"tag": "answer","content": "answer content1"},"text": {"tag": "question","content": "question content 2"},"text": {"tag": "answer","content": "answer content2"}}]';
然后我继续将其转换为普通的 javascript 对象数组,如下所示:
var parsed = JSON.parse(myjson);
console.log(parsed);
出于某种奇怪的原因,解析的数组仅包含第一个和最后一个对象......
我为此准备了一个 fiddle here
最佳答案
您多次使用同一个 key ,最后一个 key 将覆盖之前的所有 key 。使用唯一键或将这些键的值放入数组中。在 this post有一个指向原始规范的链接,声明应该是这种情况。
var myjson = '[{"text": {"tag": "question","content": "question content 1"}}, {"text1": {"tag": "answer","content": "answer content1"},"text2": {"tag": "question","content": "question content 2"},"text3": {"tag": "answer","content": "answer content2"}}]';
// OR
var myjsonarray = '[{"text": {"tag": "question","content": "question content 1"}}, [{"tag": "answer","content": "answer content1"}, {"tag": "question","content": "question content 2"},{"tag": "answer","content": "answer content2"}]]'
关于javascript - JSON.parse 正在从 JSON 对象中删除 2 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031197/