2013-07-31 8 views
1

我有一个JSON如下:如何追加属性已经存在的JSON使用节点JS

{ 
     "elements": [ 
     { 
     "name": "F975CFAF-8FB4-2926-DD56-74CD230D15AF", 
     "uri": "vm/hpcloud/nova/large", 
     "parameters": { 
      "imageUri": "image/hpcloud/nova/ami-00001b03", 
      "securityGroups": [ 
      "default" 
      ] 
     }, 
     "metadata": { 
      "name": "HPCloud Large VM with Ubuntu 10.04 With BitNami WebPack 1.2-0 Nova", 
      "description": "HPCloud Large VM with Ubuntu 10.04 With BitNami WebPack 1.2-0 Nova" 
     } 
     } 
     ] 
} 

我需要操作属性“元数据”,如下所示(请注意,新的属性附加):

{ 
     "elements": [ 
     { 
     "name": "F975CFAF-8FB4-2926-DD56-74CD230D15AF", 
     "uri": "vm/hpcloud/nova/large", 
     "parameters": { 
      "imageUri": "image/hpcloud/nova/ami-00001b03", 
      "securityGroups": [ 
      "default" 
      ] 
     }, 
     "metadata": { 
      "name": "HPCloud Large VM with Ubuntu 10.04 With BitNami WebPack 1.2-0 Nova", 
      "description": "HPCloud Large VM with Ubuntu 10.04 With BitNami WebPack 1.2-0 Nova", 
      "charge" : 80 
     } 
     } 
     ] 
} 

任何直接的方式来完成这个使用节点JS?

+0

假设x是一个变量有了这些信息,你可以做x.metadata.charge = 80. –

回答

5

假设你真的是一个JavaScript对象,使用:

obj.elements[0].metadata.charge = 80; 

如果你真的是JSON,比以前解析它,之后再对其进行编码:

obj = JSON.parse(json); 
obj.elements[0].metadata.charge = 80; 
json = JSON.stringify(obj); 
+0

非常感谢。很好。 – Prem

相关问题