通过Java-Script通过JSON文件解析



我有一个看起来像这样的JSON文件。我需要编写一个JS代码,该代码将通过此文件解析并读取文件的特定元素,例如第一个元素的传感器_State,然后写入特定元素,例如更改" sensor_id"的传感器_STATE:" sensor_id":" 302cem/lionl/light1"到ON。这就是我尝试的。我有一些想法对此进行了一些想法。试图像对待数组一样对待它,Sensor_state [0]将意味着第一组Sensor_state [1]意味着第二组,依此类推。另一种方法是在每个组/对象之前拥有一个名称,即light_1,以具有sensor_data [light1] [sensor_state] =" off"的代码,但我无法构造json文件要执行。任何建议

            {
                "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返回的 String
  • 并在处理后编写您的文件。您首先使用JSON.stringify将对象转换为字符串。然后致电fs.writefile实际编写内容

您的代码看起来像这样

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');
  });
});

注意

我对如何进行操作有一些想法。试图像对待数组

对待它

它是一个数组,所以只能像对待一个一样有意义。

相关内容

  • 没有找到相关文章

最新更新