javascript - 如何使用 JSON.parse() 解析多个对象
问题描述
let string = "{
"path": "transition_26_1_0 - Copy (2) - Copy - Copy - Copy.xml",
"fullPath": "D:\\fileuploader\\TEST_2\\transition_26_1_0 - Copy (2) - Copy - Copy - Copy.xml",
"basename": "transition_26_1_0 - Copy (2) - Copy - Copy - Copy.xml",
"stats": {
"dev": 3356173649,
"mode": 33206,
"nlink": 1,
"uid": 0,
"gid": 0,
"rdev": 0,
"ino": 1125899908018589,
"size": 604,
"atimeMs": 1560493097203.9585,
"mtimeMs": 1510127196336.229,
"ctimeMs": 1560493097204.9585,
"birthtimeMs": 1560493097203.9585,
"atime": "2019-06-14T06:18:17.204Z",
"mtime": "2017-11-08T07:46:36.336Z",
"ctime": "2019-06-14T06:18:17.205Z",
"birthtime": "2019-06-14T06:18:17.204Z"
}
}
{
"path": "transition_26_1_0 - Copy (2) - Copy - Copy.xml",
"fullPath": "D:\\fileuploader\\TEST_2\\transition_26_1_0 - Copy (2) - Copy - Copy.xml",
"basename": "transition_26_1_0 - Copy (2) - Copy - Copy.xml",
"stats": {
"dev": 3356173649,
"mode": 33206,
"nlink": 1,
"uid": 0,
"gid": 0,
"rdev": 0,
"ino": 1688849861395786,
"size": 604,
"atimeMs": 1560493067976.2869,
"mtimeMs": 1510127196336.229,
"ctimeMs": 1560493067977.2869,
"birthtimeMs": 1560493067976.2869,
"atime": "2019-06-14T06:17:47.976Z",
"mtime": "2017-11-08T07:46:36.336Z",
"ctime": "2019-06-14T06:17:47.977Z",
"birthtime": "2019-06-14T06:17:47.976Z"
}
}"
console.log(JSON.parse(string))
我的字符串看起来像这样,我必须转换成对象数组,我尝试使用JSON.parse()螺母在这样的行抛出错误意外“{”。
注意/更新:我通过管道传输对象流(使用 Tranform 转换为字符串类型)并在我的子进程中通过管道传输到 process.stdout。
在父母中,我在 child.stdout.on("data") 上得到了上面的字符串
如果我只有一个对象意味着没有错误,但为此。如何将其转换为对象数组?
更新:在 Child.js 中
var jsonStream = through2.obj(function(chunk, encoding, callback) {
let details = JSON.stringify(chunk, null, 4) + ',' + '\n'
this.push(details)
callback()
})
files.pipe(jsonStream).pipe(process.stdout);
解决方案
您可以使用网站“ https://codebeautify.org/jsonviewer ”来了解您的 json 字符串是否正确。这是错误的,因为您可以使用数组或对象,而您的字符串不是两者之一。
推荐阅读
- javascript - 如何在测试中使用 element.val 更新绑定到输入集的 angularjs 组件属性
- visual-c++ - Visual Studio C++ 检查类是否有基础
- javascript - 安装后运行计算函数 - VUE
- socket.io - 使用 VMware Fusion 无法连接羽毛聊天远程访问
- c# - 使用接收 2 个参数的实体框架更新记录
- json - Angular 6 - 如何停止生成规范文件
- couchbase - Couchbase 索引和 N1QL 查询
- macos - 如何删除某个目录(在 Mac 终端中)-unix 中文件名的最后 n 个字符?
- java - 无法从 Jenkins 将工件部署到 Nexus 存储库
- python - 计算for循环中的迭代次数