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

java - 当要解析的元素是 json 字符串的元素时,使用 gson 解析 json 的最简单方法是什么?

我正在使用 gson 将 json 解析为 java bean。对于我使用的 API,大量的 json 结果包括结果作为 json 对象的第一个属性。“gson 方式”似乎是创建一个等效的包装 java 对象,它具有目标输出类型的一个属性——但这会导致不必要的一次性类。有没有这样做的最佳实践方法?

例如解析: {"profile":{"username":"nickstreet","first_name":"Nick","last_name":"Street"}}

我要做:

当然,使用容器的另一种方法是使用标准字符串解析技术手动删除字符串的外部部分(即删除“profile”:{并关闭}),但这感觉像是错误的方法。

我希望能够做类似的事情:

这个问题表明应该可以将 json 字符串分解为 json 对象,从该对象中提取 jsonElement,并将其传递给 json.fromJson()。但是,toJsonElement() 方法仅适用于 java 对象,而不适用于 json 字符串。

有没有人有更好的方法?

0 投票
1 回答
2341 浏览

android - Android 应用程序中的 Json 和 Gson

我可以了解 JSON 和 GSON 之间的区别吗?我在某些地方读过 GSON 这个词,特别是在寻找 JSON。

我不知道两者之间的明显区别。

另一件事是话语;与 JSON Parsing 相关的“Marshalling”和“Unmarshalling”,我想知道它们实际上是什么。

0 投票
0 回答
810 浏览

android - 来自 JSON OutOfMemoryError 的 Gson

我有一个以 Base64 格式返回图像的 Web 服务。正如 Fiddler 所说,主体响应具有 Content-Length:383143。

响应类似于:{...两个字符串...和... ImageBase64":"iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAAAXNSR0IArs4c.....}

我从 Web 服务请求数据,并以字符串格式接收数据。当我尝试以下操作时:

这需要一段时间,我得到这个错误:

如果图像不复杂,则可以正常工作,如果图像复杂,则会发生内存不足错误。有任何想法吗 ?感谢您的时间。

0 投票
2 回答
1776 浏览

android - 在 Android 中解析简单的字符串 JSON

我有以下代码:

响应类似于:“iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCA...” 具有大约 400.000 个字符的 Base64 编码图像。

Web 服务的响应非常快。当它在一段时间后(比如 20-30 秒)尝试用 Gson 解析它时,我得到一个内存不足的错误。我如何在没有 Gson 的情况下解析这个简单的字符串,它应该相当简单,但我不知道该怎么做。请给我提意见。感谢您的时间

0 投票
1 回答
1470 浏览

javascript - json 到 java pojo,通过 GSON 映射

我的 java pojo 看起来像这样

我正在使用 gson 库,但是我不确定我的 json stringn 以及创建它的对象应该喜欢什么;我在包含两个字符串和一个对象数组的 javascript 对象上使用 json stringify,请参见伪代码:

然后在Java中我使用以下内容:

感激地收到任何帮助。干杯!

0 投票
1 回答
454 浏览

java - 创建用于 Gson 库的类

我正在使用 Gson 从网站解析 json 文件。我对 Java 很陌生,想找出我应该这样做的正确方法。

一切正常,但我有几个问题。由于我是从我无法控制的网站获取这些 Json 文件,因此 json 文件中的某些值是空的。使用这些的正确方法是什么?我有 get 方法从我的类中获取值并更改为所需的类型。

isp_ornd = "104% 或类似的东西"

bsp_ornd = 同上。

win_time = "2m 35s 990"

正如我所说,我没有任何问题,我只是想找出使用​​ Gson 和 Java 来执行此操作的正确方法。

}

0 投票
1 回答
3984 浏览

java - GSON 未填写对象列表

我尝试了几种解决方案,使用 GSON 解析 JSON 的结果总是出错。

我有以下 JSON:

在我的 Java 项目中,我有以下结构:

我要做的反序列化是:

最后我得到的 List 只有一个元素和错误的值。你能指出我做错了什么吗?

谢谢。

0 投票
3 回答
3075 浏览

java - Java:在 Applet 中使用 Gson 会导致 SecurityException

我正在尝试在我的 Java Applet 中使用 Google Gson,但是当我这样做时

线程“Thread-19”中的异常 java.security.AccessControlException:在 java.security.AccessController.checkPermission( AccessController.java:546) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:74) 在 com.google.gson.MappedObjectConstructor.getNoArgsConstructor(MappedObjectConstructor .java:85) 在 com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:62) 在 com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) 在 com.google.gson.JsonObjectDeserializationVisitor。com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) 的constructTarget(JsonObjectDeserializationVisitor.java:40) com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) 的com.google.gson.JsonDeserializationContextDefault .fromJsonObject(JsonDeserializationContextDefault.java:73) 在 com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) 在 com.google.gson.Gson.fromJson(Gson.java:495) 在 com.google.gson。 Gson.fromJson(Gson.java:444) 在 com.google.gson.Gson.fromJson(Gson.java:396) 在 com.google.gson.Gson.fromJson(Gson.java:372) 在 org.jblux.client .network.GsonParser$1.run(GsonParser.java:32) at java.security.AccessController.doPrivileged(Native Method) at org.jblux.client.network。GsonParser.parseJson(GsonParser.java:36) at org.jblux.client.network.PlayerDataFactory.getDataFromBase64(PlayerDataFactory.java:36) at org.jblux.client.states.MainMenuState.update(MainMenuState.java:155) at java .util.Observable.notifyObservers(Observable.java:142) 在 org.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) 在 org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236) ) 在 org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218) 的 org.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252)util.Observable.notifyObservers(Observable.java:142) at org.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) at org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236)在 org.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252) 在 org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218)util.Observable.notifyObservers(Observable.java:142) at org.jblux.client.network.ResponseWaiter.responseReceived(ResponseWaiter.java:33) at org.jblux.client.network.ServerListener.notify_observers(ServerCommunicator.java:236)在 org.jblux.client.network.ServerListener.doCommand(ServerCommunicator.java:252) 在 org.jblux.client.network.ServerListener.run(ServerCommunicator.java:218)

我在这里发现了另外两个相关的问题。在小程序中使用 GSON 库时
,Google App Engine 上的 GSON 引发安全异常反射权限问题

但他们都没有给我答案。一个只是说不要使用Gson。
有什么方法可以授予我的小程序反射权限?

更新:我正在将我的应用程序切换为使用 JNLP 文件和 Java Web Start,因为我无法弄清楚如何使 Applet 工作。我会留下这个问题,以防有人弄清楚,但如果你不想放弃 Gson,使用 JNLP 可能是唯一的选择。

0 投票
2 回答
4987 浏览

android - MS WCF 兼容形式的日期字段的 gson 序列化

我以 POST 方法访问 Web 服务。我需要向服务器发送一个 json 序列化对象。在我的 Android 类中,我有一些字符串字段和一个日期字段。这个日期字段被序列化如下:

但要与网络服务兼容,我需要像这样:

我在这里找到了一篇关于反序列化的有趣文章:http: //benjii.me/2010/04/deserializing-json-in-android-using-gson/我想我需要做这样的事情。你能帮我一把吗?

0 投票
1 回答
850 浏览

java - google-gson要读取的JSON结构是什么

我想知道,给定以下 JSON,我如何生成一个带有value的ResultSet实例?Queryppb

目前,这是我得到的:

如果不修改字符串,我怎样才能得到正确的 Java 对象?