Ben*_*nji 0 javascript json node.js
我正在使用 JavaScript 处理 Node.js 项目。我的问题是我有一个包含一些数据的数组,我想在数组中使用这些数据来创建一个 JSON 文件。
这就是我所拥有的:
var cars = ["Saab", "Volvo", "BMW"];
Run Code Online (Sandbox Code Playgroud)
这就是我要的:
{
"cars": [
{
"mark" : "Saab"
},
{
"mark" : "Volvo"
},
{
"mark" : "BMW"
}
]
}
Run Code Online (Sandbox Code Playgroud)
Java 有一个名为 Jackson 的库可以帮助解决这个问题。Node.js 没有类似的东西吗?
如果问题不符合规则,请告诉我。
这在 Node.js 中确实非常简单,您可以使用 JSON 方法stringify和parse从对象和数组创建字符串。我们可以首先使用reduce从 car 数组中创建一个 car 对象。
我使用 JSON.stringify() 和 null, 4 作为漂亮打印到文件的最后一个参数。如果我们想将所有内容打印到一行,我们只需使用 JSON.stringify(carObj)。
例如:
const fs = require("fs");
const cars = ["Saab", "Volvo", "BMW"];
const carObj = cars.reduce((map, car) => {
map.cars.push( { mark: car} );
return map;
}, { cars: []})
// Write cars object to file..
fs.writeFileSync("./cars.json", JSON.stringify(carObj, null, 4));
// Read back from the file...
const carsFromFile = JSON.parse(fs.readFileSync("./cars.json", "utf8"));
console.log("Cars from file:", carsFromFile);
Run Code Online (Sandbox Code Playgroud)
car.json 文件将如下所示:
{
"cars": [
{
"mark": "Saab"
},
{
"mark": "Volvo"
},
{
"mark": "BMW"
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |