我正在从文件中读取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