首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java解析JSon数据(google-gson)

使用java解析JSon数据(google-gson)
EN

Stack Overflow用户
提问于 2011-11-27 23:26:41
回答 1查看 2.1K关注 0票数 3

我正在尝试学习如何使用JSON并解析json数据。我正在使用google-gson API解析我的json数据。

我将获得以下格式的JSON数据

代码语言:javascript
复制
{"guid":{"uri":"http://social.yahooapis.com/v1/me/guid","value":"123456789"}}

下面是我使用google-gson的解析代码

代码语言:javascript
复制
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格式的新手让我更加困惑。

这方面的任何帮助都将是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-27 23:44:50

您的数据结构应该反映您正在尝试反序列化的数据。

例如,您可以使用以下形式:

代码语言:javascript
复制
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中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8286621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档