如何从数组节点 js 中删除 Half Received JSON 字符串

How to Remove Half Received JSON String from an Array node js

我正在使用 JSON 和 NODEJS

我正在从 TCP 接收数据,我正在接收这样的数据

[{"identification": {"id":3100,"version":1}},{"json1" : "THIS IS ONE json" },{"c]

[{"identification": {"id":3100,"version":1}},{"json1" : "THIS IS ONE json" },{"some n letters]

像这样它在接收 TCP 数据时被截断我想删除接收到的那一半数据或者有什么方法可以接收完整的缓冲区

我希望输出为

[{"identification": {"id":3100,"version":1}},{"json1" : "THIS IS ONE json" }]

一种笨拙但简单的方法是采用 string/buffer 并尝试使用 JSON.parse() 进行解析。包裹在一个try/catch中,只有成功时才设置最终值。

var badJson = '[{"identification": {"id":3100,"version":1}},{"json1" : "THIS IS ONE json" },{"c]';

try {
    var result = JSON.parse(badJson);
}
catch(e) {
    console.log('bad json, not parsing yet');
}