如何使用节点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 );