如何使用NodeJS更新JSON中的特定值并将其存储回变量中



我正在从文件中读取JSON,希望将produtCost从1200更新到1500,并将其存储回变量中。不是更新现有的productCost,而是在末尾添加新的字段produtCost。请在下面找到我的代码-如何修复此问题?任何帮助都将不胜感激。

input.json

[
{
"productName": "Apple",
"produtCost": "1200",
"details": {
"description": "test"
},
"extension": {
"type": "electroincs",
"manifest": {
"claims": "a",
"parent": "none"
}
},
"status": "success"
}
]

product.js

const util = require('util');
const fs = require('fs');
const fileName = './input.json';
const product = require(fileName);
product.produtCost = "1500";
console.log(file);

预期输出:

[
{
"productName": "Apple",
"produtCost": "1500",
"details": {
"description": "test"
},
"extension": {
"type": "electroincs",
"manifest": {
"claims": "a",
"parent": "none"
}
},
"status": "success"
}
]

product是一个数组,因此您必须首先通过index访问其元素,然后更改对象的属性

product[0].produtCost = "1500";

const product = [{
productName: "Apple",
produtCost: "1200",
details: {
description: "test",
},
extension: {
type: "electroincs",
manifest: {
claims: "a",
parent: "none",
},
},
status: "success",
}, ];
product[0].produtCost = "1500";
console.log(product);

json上有一个拼写错误,将"生产成本";而不是productCost

您也可以返回一个新对象,而不是使用排列运算符修改实际对象。。。

示例

let newObject={...product[0]}
newObject.productCost="1500"
console.log(product) //this will log original product
console.log(newObject)//this will log product with new productCost

最新更新