gpt4 book ai didi

java - 如何解析多个没有名字的json对象

转载 作者:行者123 更新时间:2023-11-30 09:18:59 26 4
gpt4 key购买 nike

我在解析 json 时遇到了一些问题。我有以下格式的 json:

{"blah":"blah","blah":"blah"}
{"blah":"blah","blah":"blah"}
{"blah":"blah","blah":"blah"}

这是 JSON 的链接:http://gerrit.aokp.co/query?format=JSON&q=status:merged&age:1d

我无法将其设为 jsonobject 并对其进行迭代。我目前将其作为字符串。

有没有办法迭代这个?将有 500 多个。

我尝试通过在其周围添加方括号使其成为一个数组,但它不起作用,因为我需要用逗号分隔它们。我无法手动操作它,因为我是从网上获取的。所以我尝试了这个。

jsonString = jsonString.replaceAll("}(?!,)", "},");

我添加否定逗号的原因是有时我可能在这些对象内部有一个 jsonobject,所以我只想在没有逗号的 '}' 前面添加一个逗号。

当我执行 replaceall 时出现此错误。

Error in fetching or parsing JSON: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1:
}(?!,)
^

我做错了什么,或者有没有我正在查看的更简单的方法?

编辑:哦,是的,我需要在 java 中实现它,因为它在 android 应用程序中。

最佳答案

这里是一个示例,您可以如何使用 Jackson 的 ObjectMapper 完成您想要的事情。

ObjectMapper om = new ObjectMapper();
try {
List<Object> obj = om.readValue(yourJsonString, new TypeReference<List<Object>> () { });
} catch (IOException e1) {
e1.printStackTrace();
}

现在您将获得 JSON 字符串中每个单独对象的列表。更进一步,您可以为正在解析的对象创建一个 POJO。

类似于:

public class MyObject{
private String project;
private String branch;
}

这只是一个例子,您需要为每个 json 属性定义一个属性。

然后你可以转:

List<Object> obj = om.readValue(yourJsonString, new TypeReference<List<Object>> () { });

进入

List<MyObject> obj = om.readValue(yourJsonString, new TypeReference<List<MyObject>> () { });

希望这对您有所帮助!

关于java - 如何解析多个没有名字的json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com