0

如果您将多个 JSON 数组传递给 Java(在单个流中),如下所示:

[ <-----json objects---->] [ <-----json objects---->]  [ <-----json objects---->] 

你如何在Java中解析? 有没有办法在将 JSON 数据重写为单个数组的情况下做到这一点?

本质上,我想在解析后达到可以做到这一点的程度。

item = json.getString("item");
total = json.getString("total");

items.add(item);
totals.add(total);

一个关键点是第一个数组是项目,第二个数组是总计。items 中的第一个 json 对象对应于总数中的第一个。

4

1 回答 1

1

我会说您首先需要将此内容转换为有效的 JSON,也许您可​​以先替换]\s*[],[[开头和]结尾添加。这将是一个有效的 JSON,并且可以被解析为JSONArray包含许多JSONArrays 的一个。

就像是:

String receivedJSON = "[{},{}] [{},{}] [{}]";
String normalized = "[" + receivedJSON.replaceAll("\\]\\s*\\[", "],[") + "]";
new JSONArray(normalized);
于 2012-07-31T18:36:25.413 回答