Разобрать несколько json, переданных в виде строки - Socket.io, NodeJS и ExpressJS - PullRequest
0 голосов
/ 08 мая 2019

У меня есть сокет, подключенный к третьей стороне, и я получаю данные с помощью веб-сокетов.Иногда данные, полученные через сокет, могут иметь строку, содержащую несколько наборов массивов.

Как справиться с этим при разборе?

Например, данные, которые я получаю обычно:

[{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 Ответ

1 голос
/ 08 мая 2019

Если все, что вам нужно, это разделить строку на массив:

var str = "[{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}]";
var res = str.replace("][", "]|[");
var arr = res.split("|");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...