var json = `{"3":0,"2":0,"1":0}`
var obj = JSON.parse(json)
console.log(JSON.stringify(obj))
console.log(json === JSON.stringify(obj))
输出
{"1":0,"2":0,"3":0}
false
我希望得到它
{"3":0,"2":0,"1":0}
true
怎么做
答案 0 :(得分:3)
这是因为json
是解析后的对象,并且不能保证对象的键是正确的
您可以使用地图及其guarantees the order of the keys
答案 1 :(得分:0)
您可以使用具有guid属性的对象数组
const text = '[{"id":3,"value":0},{"id":2,"value":0},{"id":1,"value":0}]'
const json = JSON.parse(text)
console.log(JSON.stringify(json))
答案 2 :(得分:-1)
您可以将密钥花一个点,并通过iteratong将这些密钥按原始插入顺序放置,但不能仅使用数字进行访问。这也需要一个点。
var json = `{"3.":0,"2.":0,"1.":0}`
var obj = JSON.parse(json)
console.log(obj[2])
console.log(JSON.stringify(obj))
console.log(json === JSON.stringify(obj))