【发布时间】:2016-08-25 01:34:27
【问题描述】:
我有一些数据正在尝试输出到输出文本文件。这就是我尝试这样做的方式:
'use strict';
var fs = require('fs');
let id = require('./ID.json');
let obj = require('./dataOut.json');
let isp = require('./isp');
let dst = require('./dst');
let dst_lat = require('./dst_lat');
let dst_lng = require('./dst_lng');
const output = [];
let i = 0;
obj.forEach(block => {
let outputOut =
' {\n',
' "_id": ' + '"' + id[i] + '",\n',
' "latlng": [\n',
' ' + dst_lat[i] + ',\n',
' ' + dst_lng[i] + '\n',
' ],\n',
' "name":' + '"' + isp[i] + '",\n',
' "address":' + '"' + dst[i] + '"\n',
'},\n';
output.push(outputOut);
i++;
});
fs.writeFile('./output.json');
我希望数据准确地显示在变量 outputOut 中,但是,当我运行此代码时,我遇到了错误 unexpected string。
我明白为什么会遇到此错误,但我想不出解决方法。
如何将我的 outputOut 数据保存到文本文件中?
【问题讨论】:
-
为什么要用字符串手动构建 json?你可能误会
JSON.stringify。它接受一个 javascript 对象或一个有效的 JSON 对象并返回它的字符串版本。您的字符串连接是多余的和不必要的。尝试构建一个对象。 -
嗨@Seth,我可能应该从这篇文章中删除 json.Stringify。我会编辑它。至于构建一个对象,我应该,但我想知道这种方法是否可行。
-
但它不是代码中字符串的一部分。也许您需要Template string?
-
javascript 中的字符串连接是用
+完成的,而不是, -
你做错了。
JSON.stringify(theobject,null,2)永远不要手动构建 json...如果您需要附加到现有的 json 文件,请读取文件、解析它、修改它并重新编写它。
标签: javascript arrays json node.js