解析以字符串形式传递的多个json-Socket.io,NodeJS和ExpressJS

时间:2019-05-07 22:46:38

标签: node.js express websocket socket.io

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

解析时如何处理?

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

[{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>)

我想拆分和解析两个json数组。所以我的新输出将是:

[{a:1}, {b:2}, {c:3}] as arr[0] and  [{d:1}, {e:2}, {f:3}] as arr[1]

1 个答案:

答案 0 :(得分:1)

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

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