2013-10-16 28 views
0

我有一个JSON像如下如何将其他的json里面JSON对象移动到最后的位置

var obj = { 
    "key1" : ["value1"], 
    "key2" : ["value2"], 
    "key3" : ["value3"], 
    "key4" : ["value4"] 
} 

我需要的是,如果在值更新或改变任何事情相应的对象应该移动到最后的位置。例如,如果value2更改为新值2,则需要将“key2”和新值移至最后位置。 (即)如下

var obj = { 
    "key1" : ["value1"], 
    "key3" : ["value3"], 
    "key4" : ["value4"], 
    "key2" : ["new value2"] 
} 

如何在json中做到这一点?

+0

你不直接处理json。这只是一个字符串。您将JSON解码为本机数据结构,然后根据需要操作该结构,然后将其转换回json字符串。另外,结构中键的排序与JSON无关。你可能会按字母顺序排列,你可能会得到内部存储顺序,无论如何。如何制作字符串并不能保证。 –

+4

他们只是对象,顺便说一句。不是json。对象没有排序顺序,因此如果不将对象转换为数组,则无法做到自己想要的操作。 –

+0

你为什么要把它移到最后位置?无论什么位置,他们代表一种财产。 –

回答

2

对象/ JSON没有保证的顺序。用Array替换你的包装器。

+1

你的意思是对象,而不是JSON。 –

+0

因为JSON字符串也可以表示一个数组,它具有有保证的顺序。 –

+1

我不会赌我的钱。根据[JSON.org](http://json.org/),它们的确如此,但根据我的经验,它们在各种浏览器中处理得不一致。 –

0

更改您的包装类型数组的对象。

+0

这是无效的语法。阵列没有这样的键。 – SLaks

相关问题