防止JSON.parse重新安排对象

时间:2018-03-26 11:31:44

标签: javascript arrays json object

在我的Web应用程序中,我从服务器收到一个JSON字符串,我保留在greetings变量中:

var greetings = '{"2":"hoi","3":"hi","1":"salam"}'

请注意问候语如何从索引2和值hoi开始。 现在我想解析JSON,结果如下:

JSON.parse(greetings) // {1: "salam", 2: "hoi", 3: "hi"}

订单已更改,似乎JSON.parse按键对结果进行排序。

有没有办法保持原始字符串的顺序完整?

2 个答案:

答案 0 :(得分:4)

openssl req -new -key client-cert.key -out client-cert.csr

不是数组,而是object。物品没有任何订单。 如果订单很重要,您需要切换到实际的array

答案 1 :(得分:1)

您通常不能依赖对象中索引的顺序。改为使用键/值对数组。

正如您所看到的,键被解析为(数字)索引,这就是为什么它们以这种方式排序的原因。您可以通过为密钥添加前缀然后将其剥离来解决这个问题:

console.log(JSON.parse('{"i2":"hoi","i3":"hi","i1":"salam"}'))