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

java - 包含根值的 Gson 序列化 POJO?

我在使用 Gson 序列化对象时遇到问题。

Gson 会将其序列化为 JSON

{"number":10,"str":"hello"}.

但是,我希望它是

{"Foo":{"number":10,"str":"hello"}},

所以基本上包括顶级元素。我试图用谷歌搜索一种在 Gson 中执行此操作的方法,但没有运气。任何人都知道是否有办法实现这一目标?

谢谢!

0 投票
2 回答
1743 浏览

java - 如何使用 GSON 解析这个?

我已经尝试了一切,但我无法弄清楚我需要什么 Javabeans:

有人有线索吗?

0 投票
2 回答
110103 浏览

java - 创建 GSON 对象

如何使用 Google Gson 创建 json 对象?下面的代码创建一个 json 对象,看起来像{"name":"john"}

如何创建一个像这样的 json 对象?

0 投票
1 回答
2119 浏览

boolean - GSON 假大写

有没有办法让 GSON 将“False”识别为布尔值?

例如

0 投票
3 回答
1801 浏览

android - 有谁知道在尝试使用 GSON 库时如何摆脱这个错误?

我正在使用依赖于 GSON 库的代码(不是我编写的)。我已经下载了这些库,当我尝试将它们包含在项目中时,出现重复错误。具体来说:

这是错误的屏幕截图:

我没有很多使用外部库的经验。谁能帮我吗?

提前致谢。

0 投票
2 回答
3183 浏览

java - 使用 JSON/Gson 读取 JSON 字符串

我有以下格式的 JSON 字符串,我在 Java 中作为 http 请求获得。我需要获取以下 JSON 字符串的名称和值,但我无法获得正确的解决方案。

谁能告诉我如何解析这个?另外,让我知道我们是否能够格式化此字符串,因为 3 元素中没有属性名称。

字符串格式为


编辑#1 格式化了问题。

0 投票
2 回答
6912 浏览

java - 从 Spring 控制器返回 json 视图的步骤

我的请求是基于 ajax 的,并且正在调用 spring 多动作控制器方法之一,我能够使用 Gson 库创建 json 文件。有什么方法可以从控制器方法返回 json 视图。

0 投票
4 回答
42062 浏览

java - 如何用接口序列化一个类?

我从来没有对序列化做过很多事情,但我正在尝试使用Google 的 gson将 Java 对象序列化为文件。这是我的问题的一个例子:

所以这很好地序列化了——但可以理解的是,在 Animal 上删除了类型信息:

但是,这会导致反序列化的实际问题:

我明白为什么会发生这种情况,但无法找出处理此问题的正确模式。我确实查看了指南,但没有直接解决这个问题。

0 投票
16 回答
352191 浏览

java - Gson:如何在没有注释的情况下从序列化中排除特定字段

我正在尝试学习 Gson,但我正在努力解决字段排除问题。这是我的课

我可以使用 GsonBuilder 并为字段名称添加 ExclusionStrategy,例如firstNameorcountry但我似乎无法设法排除某些字段的属性,例如country.name.

使用该方法public boolean shouldSkipField(FieldAttributes fa),FieldAttributes 不包含足够的信息来将字段与过滤器(如country.name.

PS:我想避免注释,因为我想对此进行改进并使用 RegEx 过滤字段。

编辑:我正在尝试查看是否可以模拟Struts2 JSON 插件的行为

使用 Gson

编辑: 我重新打开了这个问题,并添加了以下内容:

我添加了第二个具有相同类型的字段以进一步澄清这个问题。基本上我想排除country.name但不是countrOfBirth.name。我也不想将 Country 排除为一种类型。所以类型是相同的,它是我想要查明和排除的对象图中的实际位置。

0 投票
8 回答
10723 浏览

java - JPA2/Hibernate - 停止延迟加载?

我遇到了一个问题,JPA 试图在我不想要的时候延迟加载我的数据。基本上发生的事情是我正在使用服务来检索一些数据,当我将该数据解析为 JSON 时,JSON 库正在触发休眠以尝试延迟加载数据。有没有办法阻止这种情况?我在下面给出了一个例子。

是否可以将 JPA/hibernate 设置为不尝试延迟加载数据?

更新:我意识到您可以使用 FetchType.EAGER - 但是如果我不想急切加载该数据怎么办?我只是想阻止休眠尝试检索更多数据——我已经有了我想要的数据。现在,每当我尝试访问 get() 方法时,hibernate 都会抛出“没有会话或会话已关闭”错误,这是有道理的,因为我的事务已经从我的服务提交。

谢谢!