Node.js 解析作为字符串传递的多个json-Socket.io、NodeJS和ExpressJS

Node.js 解析作为字符串传递的多个json-Socket.io、NodeJS和ExpressJS,node.js,express,websocket,socket.io,Node.js,Express,Websocket,Socket.io,我有一个连接到第三方的套接字,我使用WebSocket接收数据。有时,通过套接字接收的数据可能包含一个包含多组数组的字符串 解析时如何处理这个问题 例如,我通常收到的数据: [{a:1}, {b:2}, {c:3}] 有时,我会收到: [{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}] 我得到以下错误,因为我猜JSON.parse不知道如何处理它: Uncaught SyntaxError: Unexpected token [ in JSON at pos

我有一个连接到第三方的套接字,我使用WebSocket接收数据。有时,通过套接字接收的数据可能包含一个包含多组数组的字符串

解析时如何处理这个问题

例如,我通常收到的数据:

[{a:1}, {b:2}, {c:3}]
有时,我会收到:

[{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}]
我得到以下错误,因为我猜JSON.parse不知道如何处理它:

Uncaught SyntaxError: Unexpected token [ in JSON at position 267
at JSON.parse (<anonymous>)

如果您只想将字符串分隔成一个数组:

var str = "[{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}]";
var res = str.replace("][", "]|[");
var arr = res.split("|");
var str = "[{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}]";
var res = str.replace("][", "]|[");
var arr = res.split("|");