gpt4 book ai didi

android - 使用 GSon 解析嵌套的 Json

转载 作者:行者123 更新时间:2023-11-29 14:51:42 25 4
gpt4 key购买 nike

如何使用 google Gson 解析下面的 Json Response?

{
"rootobject":[
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
}
]
}

最佳答案

我会创建对象来“包装”响应,例如:

public class Response {

@SerializedName("root_object")
private List<YourObject> rootObject;

//getter and setter
}


public class YourObject {

@SerializedName("id")
private String id;
@SerializedName("name")
private String name;
@SerializedName("subtitle")
private String subtitle;
//... other fields

//getters and setters
}

注意:在匹配 JSON 数据中的名称时,使用 @SerializedName 注释遵循 Java 属性中的命名约定。

然后您只需使用 Reponse 对象解析 JSON,如下所示:

String jsonString = "your json data...";
Gson gson = new Gson();
Response response = gson.fromJson(jsonString, Response.class);

现在您可以使用 getter 和 setter 访问 Response 对象中的所有数据。

注意:您的 Response 对象可用于解析不同的 JSON 响应。例如,您的 JSON 响应可能不包含 idsubtitle 字段,但您的 Reponse 对象也会解析响应, 并在此字段中放入一个 null 。这样你就可以只使用一个Response类来解析所有可能的响应...

编辑:我没有意识到 Android 标签,我在普通的 Java 程序中使用这种方法,我不确定它是否对 Android 有效...

关于android - 使用 GSon 解析嵌套的 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851190/

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