尝试学习如何使用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格式不熟悉是让我更加困惑的原因。
这方面的任何帮助都会有所帮助。
答案 0 :(得分:4)
您的数据结构应该反映您尝试反序列化的数据。
例如,您可以使用以下形式的内容:
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
属性映射到guid
类型的Data
属性。该对象的属性作为字符串放在Map
中。