问题标签 [gson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
345499 浏览

java - Gson:直接将String转换为JsonObject(无POJO)

似乎无法弄清楚这一点。我正在 GSON 中尝试 JSON 树操作,但在转换为JsonObject. 有没有办法直接从 aStringJsonObject

我尝试了以下(Scala 语法):

a失败了,JSON 被转义并解析为JsonStringonly,并 b返回一个空的JsonObject.

有任何想法吗?

0 投票
2 回答
43959 浏览

java - 你能避免 Gson 将“<”和“>”转换为 unicode 转义序列吗?

我注意到Gson将字符串“<”转换为 JSON 输出中的 unicode 转义序列。你能以某种方式避免这种情况,或者像“<”和“>”这样的字符总是必须在 JSON 中转义吗?

考虑这个打印的例子{"s":"\u003c"};我想要简单 {"s":"<"}的。

上下文:我正在创建的 JSON 片段与 HTML 页面甚至 JavaScript 无关;它只是用于将某些结构化信息传递给另一个软件(嵌入在设备中,用 C 编写)。

0 投票
1 回答
3949 浏览

java - 如何在此示例中使用 GSON 解码 JSON?

我是 GSON 的新手。这是我的例子

我想分成数组。我试试这段代码

它不起作用......并得到错误。

我知道这个例子是字符串数组和整数数组的混合。

我怎么处理这个?

谢谢..

0 投票
3 回答
6694 浏览

java - 使用 google-gson 的 JSON 序列化/反序列化泛型类型

好吧,我不得不承认我不擅长 Java 中的泛型类型

我用 C# 编写了一个 JSON 序列化/反序列化类JavaScriptSerializer

它在 C# 中运行良好。现在我正在尝试转换或至少在 Java 中编写另一个 JSON 序列化/反序列化类。我试过flexjsongoogle-gson但我不知道如何在 Java 中指定 <T> 。

这里有人可以帮助我吗?顺便说一句,我更喜欢google-gson

0 投票
3 回答
14817 浏览

java - 在 GSON 中使用泛型

我正在使用 GSON 将 JSON 解码为 T 类型的对象,例如

然而,这会返回一个异常 -

java.lang.AssertionError:意外类型。预期之一:java.lang.reflect.ParameterizedType、java.lang.reflect.GenericArrayType,但得到:sun.reflect.generics.reflectiveObjects.TypeVariableImpl,用于类型标记:T

我认为通过使用 TypeToken 我避免了 Type Erasure。

我错了吗?

谢谢

0 投票
1 回答
791 浏览

android - Gson IllegalStateException

除了 SharedPreferences 和一些 SQLite 之外,基本上所有形式的存储我都是菜鸟。我做了一些搜索,发现 JSON+GSON 是一种将对象及其字段解析为可存储字符串的快速方法。

所以,在我的游戏中,我有一个Player对象,它的字段也是我自己的类:

我怀疑这些类是问题所在,因为当我尝试运行一个简单的保存方法时:

我得到这个例外:java.lang.IllegalStateException: How can the type variable not be present in the class declaration!

我的问题是..

如何让这些自定义序列化程序工作?就像我说的,我是菜鸟.. 但看起来我做对了..

0 投票
3 回答
4413 浏览

android - gson --> 带有数组的“xyz 类的无参数构造函数”

我尝试在 gson 的帮助下反序列化一个 json 字符串。虽然 gson.fromJson 我收到以下错误:

xyz 类的无参数构造函数;不存在。为这个类型注册一个 InstanceCreator 到 Gson 来解决这个问题

我尝试使用 InstanceCreate 但我没有让它运行。我希望你能帮助我。

JSON字符串

]

根据gson,我必须根据http://www.jsonlint.com/剪切第一个和最后一个字符(“[”和“]”)字符串是正确的...... :?:

代码如下所示:


问候克里斯

0 投票
3 回答
8133 浏览

java - 使用 Gson 读取 JSON 字符串

我一直在寻找谷歌试图解决这个问题,但我似乎做不到。我有以下 json 字符串,该字符串从我需要与之交互的另一个源返回到我的 java 小程序。

目前我不确定我应该如何使用 Gson 将其解析到我的小程序中。当我与该程序的设计者交谈时。json 字符串是为 php 而不是 java 设计的,所以当我在 php 中对其进行解码时,它给了我一个很好的多维 assoc 数组。

对此有任何建议。

0 投票
1 回答
4466 浏览

android - 使用 GSON 的 JSON 反序列化

我有来自 url 的以下 json 响应:

这就是我进行解析的方式:

运行代码时,出现此错误: ERROR/AndroidRuntime(823): java.lang.RuntimeException: No-args constructor for class com.project.driver.Driver$Post 不存在。使用 Gson 为该类型注册一个 InstanceCreator 以解决此问题。

我在为解析定义合适的 Driver.java 时遇到了麻烦。当我省略“last5comments”字段时,一切正常,只是“last5comments”位我遇到了麻烦......

这是Driver.java:

非常感谢任何有关定义合适 Driver.java 的帮助。

提前致谢,

0 投票
2 回答
5045 浏览

java - 通过 GSON 将 Twitter 公共时间线 (JSON) 解析为 Java 对象

我见过很多人在使用 GSON 库时遇到问题——我仍然找不到解决问题的方法。

我想要实现的是将Twitter 的公共时间线中的 JSON 解析为带有 GSON 的 POJO。

以下是我对 twitter 的 JSON 结构的表示:



我目前收到以下错误:

线程“主”com.google.gson.JsonParseException 中的异常:发现预期对象:false

我猜我的 POJO 结构是错误的,或者可能与 JSON 对象“受保护”是 Java 中的受保护标识符这一事实有关。如果是后者,我不知道如何解决它。