2012-12-20 101 views
0

我可以做的是用新的属性扩展我的JSON对象。向JSON字符串添加新属性

E.g

var jsonText = { 
      "Repeats": 1, 
      "Trials": 4, 
      "GroupName": "Mobile phones", 
      "targets": [ 
        { 
         "name": "Apple", 
        }, 
        { 
         "name": "Samsung", 
        } 
       ]} 

我想直到结束是一个新的项目列入所以扩展对象,因此,然后看起来像。

var jsonText = { 
      "NewItem" : NewValue, 
      "Repeats": 1, 
      "Trials": 4, 
      "GroupName": "Mobile phones", 
      "targets": [ 
        { 
         "name": "Apple", 
        }, 
        { 
         "name": "Samsung", 
        } 
       ]} 
+1

'jsonText.NewItem = NewValue'? –

+0

也许你知道,这些属性的顺序完全没有关系。 –

+0

我知道订单无关紧要,我在开始时添加了它,以便更清楚地看到我期待的结果。 – TheAlbear

回答

6

您有JavaScript对象字面值,而不是JSON字符串。你可以与它进行交互像一个正常的对象文本:

jsonText.NewItem = "NewValue"; 

如果你没有实际上有一个JSON字符串,你可以先分析它为JavaScript对象,然后以同样的方式处理它,然后将其序列化回一个JSON字符串。例如:

var jsonText = '{ "Repeats": 1, "Trials": 4 }', 
    actualObj = JSON.parse(jsonText); 
actualObj.newItem = "New Value"; 
jsonText = JSON.stringify(actualObj);