use*_*291 1 javascript json node.js
假设我从套接字服务器(我无法控制)收到此字符串:
{"data":{"time":"2016-08-08T15:13:19.605234Z","x":20,"y":30}}{"data":{"time":"2016-08-08T15:13:19.609522Z","x":30,"y":40}}
Run Code Online (Sandbox Code Playgroud)
我不能使用JSON.parse,因为它包含2个Json字符串,所以我怎么能分成
var jsonString1 = {"data":{"time":"2016-08-08T15:13:19.605234Z","x":20,"y":30}}
Run Code Online (Sandbox Code Playgroud)
和
var jsonString2 = {"data":{"time":"2016-08-08T15:13:19.609522Z","x":30,"y":40}}
Run Code Online (Sandbox Code Playgroud)
注意:我实际上可能有1到n个Json字符串连接在一起
你可以这样做:
var data = '{"data":{"time":"2016-08-08T15:13:19.605234Z","x":20,"y":30}}{"data":{"time":"2016-08-08T15:13:19.609522Z","x":30,"y":40}}';
var sanitized = '[' + data.replace(/}{/g, '},{') + ']';
var res = JSON.parse(sanitized);
console.log(res);Run Code Online (Sandbox Code Playgroud)
但是,如果其中一个对象包含}{字符串中的模式,则会失败.