我正在尝试学习如何使用JSON并解析json数据。我正在使用google-gson API解析我的json数据。
我将获得以下格式的JSON数据
{"guid":{"uri":"http://social.yahooapis.com/v1/me/guid","value":"123456789"}}下面是我使用google-gson的解析代码
Gson gson=new Gson();
MyGuid myGuid=new MyGuid();
myGuid=gson.fromJson(response.getBody(), MyGuid.class);
public class MyGuid {
public MyGuid() {
}
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}}
但是我将guid的值设置为null。我知道我做错了,但JSON格式的新手让我更加困惑。
这方面的任何帮助都将是有帮助的。
发布于 2011-11-27 23:44:50
您的数据结构应该反映您正在尝试反序列化的数据。
例如,您可以使用以下形式:
public class Data {
private Map<String, String> guid;
public Map<String, String> getGuid() {
return guid;
}
public void setGuid(Map<String, String> guid) {
this.guid = guid;
}
public static void main(String[] args) {
String json =
"{\"guid\":{" + "\"uri\":\"http://social.yahooapis.com/v1/me/guid\","
+ "\"value\":\"123456789\"}}";
Data data = new Gson().fromJson(json, Data.class);
System.out.println(data.getGuid()
.get("uri"));
}
}JSON的guid属性被映射到Data类型的guid属性。该对象的属性作为字符串放在Map中。
https://stackoverflow.com/questions/8286621
复制相似问题