gpt4 book ai didi

java - 帮我解析这种 json for android

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

我有来自 api 的这种类型的 json:

[
{
"id": "12",
"name": "elo2",
"status": "ok",
"vulumes": [
{
"id": 17592,
"name": "vol1",
"status": "ok"
}
]
},
{
"id": "13",
"name": "elo",
"status": "ok",
"vulumes": [
{
"id": "17596",
"name": "vol2",
"status": "ok"
}
]
}
]

ID 12 和 13 是其货架,卷是 ID 为 17592 和 17596 的货架的一部分

我无法用 json 解析它,我尝试使用 gson 或 json,但我不明白如何获取 sime block ,例如ID 为 12 的 block ,用于解析有关货架和此货架上现有卷的信息。

你能帮帮我吗?在其他 API 中,我可以看到带有 k/v 的命名对象,但什么也没有。

最佳答案

对于 Gson,您可以采用以下一种简单的方法。这演示了与 JSON 示例匹配的 Java 数据结构,以及如何使用 Gson 对其进行反序列化和序列化。

public class Foo
{
public static void main(String[] args) throws Exception
{
Gson gson = new Gson();
Type thingsType = new TypeToken<List<Thing>>() {}.getType();
List<Thing> things = gson.fromJson(new FileReader("input.json"), thingsType);
System.out.println(gson.toJson(things));
}
}

class Thing
{
String id;
String name;
String status;
List<Vulume> vulumes;
}

class Vulume
{
String id;
String name;
String status;
}

既然这两种对象类型的属性几乎完全相同,那么可能本意是只有一种对象类型,并且引用了相同类型对象的集合。这就是它的样子。

public class Foo
{
public static void main(String[] args) throws Exception
{
Gson gson = new Gson();
Type thingsType = new TypeToken<List<Vulume>>() {}.getType();
List<Vulume> things = gson.fromJson(new FileReader("input.json"), thingsType);
System.out.println(gson.toJson(things));
}
}

class Vulume
{
String id;
String name;
String status;
List<Vulume> vulumes;
}

关于java - 帮我解析这种 json for android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6636869/

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