gpt4 book ai didi

java - 使用谷歌 GSON : reading values directly from child objects 解析 JSON

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

我在使用 Google 的 Gson 解析以下 JSON 时遇到问题:

{"Name":
{"object1":
{"field1":"17",
"field2":"360",
"field3":"19",
"field4":"sun",
"field5":"rain"
}
}
}

我尝试了以下方法来获取 field1 的值,但它不起作用

@SerializedName("Name/object1/field1")
public int fieldOne;

我做错了什么?

最佳答案

您的对象必须保留 json 指令的层次结构。对于您的示例,它将是这样的:

public class Object {

@SerializedName("field1")
public String fieldOne;

@SerializedName("field2")
public String fieldTwo;

@SerializedName("field3")
public String fieldThree;

@SerializedName("field4")
public String fieldFour;
}

public class Name {

@SerializedName("object1")
public Object obj;
}

public class GsonObj {

@SerializedName("Name")
public Name name;
}

使用以下调用:

String json = "{\"Name\":{" +
"\"object1\":{" +
"\"field1\":\"17\",\"field2\":\"360\",\"field3\":\"19\",\"field4\":\"sun\",\"field5\":\"rain\"}}}";

Gson gson = new Gson();
GsonObj jsonResult = gson.fromJson(json, GsonObj.class);
Log.d("test", "field one: "+jsonResult.name.obj.fieldOne);
Log.d("test", "field two: "+jsonResult.name.obj.fieldTwo);
Log.d("test", "field three: "+jsonResult.name.obj.fieldThree);
Log.d("test", "field four: "+jsonResult.name.obj.fieldFour);

关于java - 使用谷歌 GSON : reading values directly from child objects 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029367/

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