如何使用节点js将属性附加到已经存在的JSON

我有一个JSON如下:

{ "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?

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

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

如果你真的指的是JSON,比之前parsing它,然后再编码:

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