Javascript 用JAVA-SCRIPT解析JSON文件
我有一个json文件,看起来像这样。我需要编写一个JS代码来解析这个文件,读取文件中的特定元素,比如第一个元素的sensor_状态,然后写入特定元素,比如更改“sensor_id”的sensor_状态:“302CEM/lion/light1”为on。 这就是我尝试过的。我对如何着手这件事有一些想法。 尝试将其视为一个数组,sensor_state[0]表示第一个组,sensor_state[1]表示第二个组,依此类推。 另一种方法是在每个组/对象之前有一个名称,即light_1,以使代码显示sensor_data[light1][sensor_state]=“off”,但我无法构造json文件来执行这两种操作。 有什么建议吗Javascript 用JAVA-SCRIPT解析JSON文件,javascript,node.js,json,home-automation,Javascript,Node.js,Json,Home Automation,我有一个json文件,看起来像这样。我需要编写一个JS代码来解析这个文件,读取文件中的特定元素,比如第一个元素的sensor_状态,然后写入特定元素,比如更改“sensor_id”的sensor_状态:“302CEM/lion/light1”为on。 这就是我尝试过的。我对如何着手这件事有一些想法。 尝试将其视为一个数组,sensor_state[0]表示第一个组,sensor_state[1]表示第二个组,依此类推。 另一种方法是在每个组/对象之前有一个名称,即light_1,以使代码显示se
{
"sensor_data": [
{
"sensor_id": "302CEM/lion/light1",
"sensor_state": "off"
},
{
"sensor_id": "302CEM/lion/light2",
"sensor_state": "off"
}
]
}
const fs =
require('fs');
var data = []
//To Read from the JSON File, dont know if this still needed
fs.readFile('datajson.json', (err,data) => {
if (err) throw err;
var sensor = JSON.parse(data);
var stringy = JSON.stringify(data)
console.log(stringy.sensor_state[0]);
}
)
- 为了处理JSON,只需在
之后执行,而不必处理JSON.parse
返回的字符串,这样做会容易得多JSON.stringify
- 并在处理后写入文件。首先使用
将对象转换为字符串。然后调用以实际编写内容JSON.stringify
const fs = require('fs');
const fileName = './data.json';
fs.readFile(fileName, (errRead, content) => {
if (ererrReadr) throw errRead;
let data = JSON.parse(content);
// Change the "sensor_id" of the first item in "sensor_data"
data.sensor_data[0].sensor_id = 'this is a new ID';
// Write back new JSON
fs.writeFile(fileName, JSON.stringify(data), errWrite => {
if (errWrite) throw errWrite;
console.log('New data has been saved');
});
});
笔记
我对如何着手这件事有一些想法。试图将其视为数组
它是一个数组,因此将其视为一个数组才有意义