如何在java中使用gson解码json字符串?

Posted

技术标签:

【中文标题】如何在java中使用gson解码json字符串?【英文标题】:How to decode a json string with gson in java? 【发布时间】:2011-05-21 12:03:24 【问题描述】:

我有一个 json 字符串(社交网络 Qaiku 的流)。如何在 Java 中对其进行解码? 我已经搜索过,但任何结果都适合我。 谢谢。

【问题讨论】:

【参考方案1】:

对象反序列化的标准方式如下:

Gson gson = new Gson();
MyType obj = gson.fromJson(json, MyType.class);

对于原语,应使用相应的类而不是 MyType。

您可以在Gson user's guide 中找到更多详细信息。如果这种方式对您不起作用 - 可能 JSON 输入中有一些错误。

【讨论】:

【参考方案2】:

作为使用 Gson 的示例,您可以执行以下操作

Gson gson = new Gson();
gson.fromJson(value, type);

其中 value 是您的编码值。诀窍来自第二个参数 - 类型。你需要知道你的解码是什么以及 JSON 将以什么 Java 类型结束。

以下示例显示将 JSON 字符串解码为名为 Table 的域对象列表:

http://javastorage.wordpress.com/2011/03/31/how-to-decode-json-with-google-gson-library/

为此,需要将类型指定为:

Type type = new TypeToken<List<Table>>().getType();

Gson 在这里可用:

http://code.google.com/p/google-gson/

【讨论】:

以上是关于如何在java中使用gson解码json字符串?的主要内容,如果未能解决你的问题,请参考以下文章

Gson全解析(上)-Gson基础(转)

java中如何将对象转成json格式字符串

Gson 源码解读

如何使用 JSON 输入字符串从编排中调用 JSON 解码器?

如何使用 Java 和 Gson 中的构建器模式将选择类字段序列化为 JSON 字符串?

java怎么使用gson解析json字符串