[英]Node.js JSON.parse “Unexpected token {”
我有一个使用JSON.parse(datastring);
的脚本JSON.parse(datastring);
解析一个字符串化的JSON。
数据字符串如下所示:
{"_id":"8b8fdd243f734b27829c92e4099f70ec.d","date":1439418654920,"player":"player1","action":"capture"}
{"_id":"a3b7d70d8a074f9ba8b13368ee947f1e.d","date":1439418074476,"player":"player1","action":"capture"}
第一个工作得很好,但是第二个我遇到了一个奇怪的错误,我找不到解决方法。
undefined:2
{"_id":"a3b7d70d8a074f9ba8b13368ee947f1e.d","date": 1439418074476,"player":"pla
^
SyntaxError: Unexpected token {
at Object.parse (native)
at Socket.<anonymous> (/home/ubuntu/workspace/lib/engine.js:12:18)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:765:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:427:10)
at emitReadable (_stream_readable.js:423:5)
at readableAddChunk (_stream_readable.js:166:9)
at Socket.Readable.push (_stream_readable.js:128:10)
at Pipe.onread (net.js:529:21)
有任何想法吗?
JSON.parse
希望传递一个包含JSON文本的字符串,而不是包含多个 JSON文本的字符串。
分别解析每行(假设您可以相信换行符将仅位于输入中的JSON文本之间)…
var json_texts = datastring.split("\n");
…或以数组开头表示数据。
[
{"_id":"8b8fdd243f734b27829c92e4099f70ec.d","date":1439418654920,"player":"player1","action":"capture"},
{"_id":"a3b7d70d8a074f9ba8b13368ee947f1e.d","date":1439418074476,"player":"player1","action":"capture"}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.