gpt4 book ai didi

java - 需要 GSON 返回一个 Java JSONArray

转载 作者:搜寻专家 更新时间:2023-11-01 03:43:04 24 4
gpt4 key购买 nike

我无法返回 JSONArray,我的对象似乎是一个字符串。 myArray 的值与 jsonString 的值相同。该对象是一个字符串对象,而不是一个 JSONArray。以及 jsonStringmyArray prnt:

[{"id":"100002930603211",
"name":"Aardvark Jingleheimer",
"picture":"shortenedExample.jpg" },
{"id":"537815695",
"name":"Aarn Mc",
"picture":"shortendExample.jpg" },
{"id":"658471072",
"name":"Adrna opescu",
"picture":"shortenedExample.jpg"
}]

如何将其转换为实际的 Java JSONArray?谢谢!

           //arrPersons is an ArrayList

Gson gson = new Gson();
String jsonString = gson.toJson(arrPersons);

JsonParser parser = new JsonParser();
JsonElement myElement = parser.parse(jsonString);
JsonArray myArray = myElement.getAsJsonArray();

最佳答案

我认为你可以做你想做的事而无需写出一个 json 字符串然后重新读取它:

List<Person> arrPersons = new ArrayList<Person>();

// populate your list

Gson gson = new Gson();
JsonElement element = gson.toJsonTree(arrPersons, new TypeToken<List<Person>>() {}.getType());

if (! element.isJsonArray()) {
// fail appropriately
throw new SomeException();
}

JsonArray jsonArray = element.getAsJsonArray();

关于java - 需要 GSON 返回一个 Java JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020371/

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