问题标签 [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 投票
2 回答
5662 浏览

android - com.google.gson.JsonParseException:解析 JSON 源失败:java.io.BufferedReader 到 Json - 对这个问题感到困惑

我正在尝试在Android应用程序中使用gson解析一个json对象,测试在模拟器中非常顺利地通过了,当我使用实际设备时,问题开始了我得到如下异常

请提出解决方案,我使用的是 gson 1.4 版本。我使用的代码是

浏览器中 url 的 o/p 是

谢谢

0 投票
1 回答
1191 浏览

java - json:参考

我正在将 JSON 与 Gson 包一起用于 java。我有一个对象,其中有一些从一个字段中的对象到另一个字段中的对象的内部引用。例如:

{ "loci": [ { "id": "loc1",
"length": 10000, "start": 2 },
{ "id": "loc2", "length": 100,
"start": 50000 } ] , "场景": [ { "id": "scen1", "loci": [ { "id": "loc1", "length": 10000, "start": 2 }, { "id": "loc2" , "长度": 100, "开始": 50000 } ] }, ] }

所以我实际上在我的 java 程序中只定义了两个轨迹对象(loc1 和 loc2),但在打印输出中,这些对象被复制并出现在“loci”下和“scen1”内。JSON能否反映实际上只有两个对象(所以当我加载它时,它不会创建四个位点而不是两个)?

0 投票
4 回答
38356 浏览

java - 使用 gson 反序列化 json 数组

继续这个问题

我在反序列化以下 json 数组时遇到了问题(对不起,大小):

如果我将它粘贴到 json-viewer 中,我会得到这个结构:

现在,包含具有坐标的数组的数组具有可变大小。所以我认为在 java 中,这整个对象应该是一个数组,包含数组的集合,每个数组都包含一个Collection<double[]>. 就像是Collection<double[]>[][].

但gson不接受这一点。我收到以下错误消息:

这看起来很奇怪,因为2.963610对我来说看起来不像一个数组。但这可能使我感到困惑,以至于我或多或少地迷失了……

0 投票
1 回答
1912 浏览

android - gson 到 POJO 对象,无法正常工作

我正在开发一个 Android 应用程序并访问一个返回 JSON 的 RESTfull Web 服务。这个 JSON 我想把它放在 POJO 中,但我认为我遗漏了一些东西,因为它不起作用。

返回的 JSON 如下:

[{"CategoryName":"Food","Id":1},{"CategoryName":"Car","Id":2},{"CategoryName":"House","Id":3},{ "CategoryName":"Work","Id":4}]

这在响应变量中返回

现在我尝试以下方法:

我得到的错误是:

09-02 07:06:47.009: WARN/System.err(568): org.json.JSONException: Value [{"Id":1,"CategoryName":"Food"},{"Id":2," org.json.JSONArray 类型的 CategoryName":"Car"},{"Id":3,"CategoryName":"House"},{"Id":4,"CategoryName":"Work"}] 无法转换到 JSONObject 09-02 07:06:47.029: WARN/System.err(568): at org.json.JSON.typeMismatch(JSON.java:107)

这是 POJO 对象 MainCategories.java

分类信息.java

要访问网络服务,我使用以下类: http: //lukencode.com/2010/04/27/calling-web-services-in-android-using-httpclient/

请帮助我,因为我现在被困了 2 天,不知道如何继续。我在这里找到了一些主题,但仍然没有找到解决方法。非常感谢。

0 投票
4 回答
30563 浏览

java - 反序列化 Gson 中的抽象类

我有一个 JSON 格式的树对象,我正在尝试用 Gson 反序列化。每个节点都包含其子节点作为对象类型节点的字段。Node 是一个接口,它有几个具体的类实现。在反序列化过程中,如果我不知道节点属于哪种类型,我如何与 Gson 通信在反序列化节点时要实现哪个具体类?每个节点都有一个指定类型的成员字段。当对象处于序列化形式时,有没有办法访问该字段,并以某种方式将类型传达给 Gson?

谢谢!

0 投票
1 回答
1440 浏览

java - Gson 和 argonauts - 使用 gson 将 javascript 数组转换为 json 字符串到 java pojo 的问题。试图让我的结构正确

这是我在 java 中访问的 json 字符串:

我现在想把它放在一个集合中,所以理想/理论上我想做:

并且 personList.size() 将 = 5。然后我将遍历 personList 并执行我的相关操作。

但是,我的理解是我需要创建一个容器类,它本身包含人员列表?因此,而不是(为简洁起见删除了公共 getter/setter,可能还有语法错误)。

我实际上需要类似的东西?

但是,我还需要将 javascript json 更改为不同的东西吗?这似乎相当有问题,因为我使用 JSON.stringifier 从 javascript 数组创建 json 字符串。

感激地收到任何帮助。

编辑

我使用的解决方案是添加

到 person 类并更改 json 对象,使其成为

然后可以调用 gson

以及像这样在列表中访问的数据

编辑 2

第二个更好的解决方案是使用这个 json 数组

然后使用

使用原始类的地方

0 投票
1 回答
9337 浏览

java - 检查文件是否为 json、java

使用 Java 是否有一种简单的方法来检查给定文件是否符合 json 格式?

使用 gson,我能做的最好的事情是:

任何更清洁的想法?

0 投票
2 回答
2526 浏览

gson - Gson.toJson() 并从泛型类继承

我有以下课程:

好的,现在创建这个类的集合并用 Gson 序列化它:

在此之后,字符串json设置为

这是伟大的。

但是现在,我所有的模型类都继承自一个泛型类型Identifiable<T>,它只提供两种方法T getId()void setId(T). 所以我将TestSomething-class 从上面更改为

当我尝试解决这个问题时Gson.toJson(),Gson 会出现以下异常:

那么,我该怎么做才能完成这项工作?

0 投票
2 回答
16079 浏览

json - Spring MVC mapping view for Google-GSON?

Does anyone know if there is a Spring MVC mapping view for Gson? I'm looking for something similar to org.springframework.web.servlet.view.json.MappingJacksonJsonView.

Ideally it would take my ModelMap and render it as JSON, respecting my renderedAttributes set in the ContentNegotiatingViewResolver declaration

We plan to use Gson extensively in the application as it seems safer and better than Jackson. That said, we're getting hung up by the need to have two different JSON libraries in order to do native JSON views.

Thanks in advance!

[cross-posted to Spring forums]

0 投票
2 回答
144327 浏览

java - Gson 并反序列化包含数组的对象数组

我正在尝试使用 Gson 反序列化从我的网络服务返回的 json 字符串

该结构将返回为TypeDTO[].

哪里TypeDTO

和 ItemDTO 就像

当我如下调用代码时

对象内的一切都是空的

但是,如果我使用

JSONArrayJSONObject从 org.json jar 中将它们一块一块地拉出来,它工作正常,并且相应地填充了字段。

关于我做错了什么的任何想法?Gson 非常快吗?还是我最好坚持我已经在工作的东西?

谢谢,大卫