我正在接收一个或多个Json数组的输入,如
[{"operation":"buy", "unit-cost":10.00, "quantity": 10000},
{"operation":"sell", "unit-cost":20.00, "quantity": 5000}]
[{"operation":"buy", "unit-cost":20.00, "quantity": 10000},
{"operation":"sell", "unit-cost":10.00, "quantity": 5000}]
字符串
我尝试使用JSON-Java以这种方式读取数组:
JSONArray array = new JSONArray(json)
型
但这只会读取第一个数组,而忽略第二个数组。
如何在Java中从Json String中读取多个数组?
我已经尝试过使用JSON-java和Jackson,但是我还没有找到获得预期结果的方法。
2条答案
按热度按时间zynd9foi1#
没有自动读取它的方法,因为对象是一个附加的对象数组。您必须自己以编程方式解析它。这里有一个可能的方法:
字符串
kfgdxczn2#
您可以评估字符以判断何时达到完整数组。
在这个例子中,我忽略了括号可能出现在文本值中的事实。
你的数据似乎不是这样的,所以我省略了检查。
字符串
输出,为 list。
型
然后,我使用 Gson 来解析数据。
我在这里使用了 SerializedName 注解来使带连字符的名称一致。
此外,我还添加了一个 toString 重写来调试输出。
型
下面是一个基本的解析和输出。
的字符串