node.js - 解析作为字符串传递的多个 json - Socket.io、NodeJS 和 ExpressJS
问题描述
我有一个连接到第三方的套接字,我使用 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]
解决方案
如果您只想将字符串分成一个数组:
var str = "[{a:1}, {b:2}, {c:3}][{d:1}, {e:2}, {f:3}]";
var res = str.replace("][", "]|[");
var arr = res.split("|");
推荐阅读
- firebase - 如何让特定的 API 在 Firestore 上运行写/读请求?
- python - 在 InfluxDB 中插入高频数据的最佳方法
- swift - 如何在不导致内存崩溃的情况下制作视频的 collectionView
- c - 即使在某个循环之后,递归如何保留价值
- python - Pygame多个子弹不产生
- c - 为什么 (double + int) 的结果是 0 (C 语言)
- jquery - 如何从控制器中的 JSON 返回 HTML 循环到刀片
- java - JLabel 约束中的“ed”是什么意思?
- mapbox - Mapbox:运行时样式中的 GeoJson 源
- html - 如何修复 chrome 浏览器中的反应输入类型自动建议功能