当前位置: 首页 > 面试题库 >

使用GSon将匿名Java对象类型转换为JSON

淳于禄
2023-03-14
问题内容

是否有可能使用Gson或JAVA上的任何其他库将匿名对象类型序列化为JSON?

Object objResult = new Object() {
                boolean success = true;
                String  email="mail@gmail.com";
            };

String jsonstr = gson.toJson(objResult);

在此示例中,字符串jsonstr返回空值。


问题答案:

Gson不支持该功能。从用户指南

与内部类,匿名类和本地类中的外部类相对应的字段将被忽略,并且不包含在序列化或反序列化中

您可以使用一个Class(或其他Type)表示匿名类型的超类来描述要使用重载toJson(Object, Type)方法进行序列化的内容,但是您仍然会丢失匿名子类中定义的任何新字段。(显然,使用Object,这没有任何作用,因为Object没有字段。)



 类似资料:
  • 我想将以下字符串作为json发布到服务器。 {“FirstName”:“John”,“LastName”:“Smith”},{“FirstName”:“John”,“LastName”:“Smith”} 但是如果我使用下面的代码,我会得到json对象的数组列表。 输出: [{"FirstName":"John","LastName":"Smith" }, { "FirstName":"John",

  • 我使用的是名为Gson的Google JSON API,在设置Java类以便使用方法时遇到了困难。 从JSON数据中,我知道有一个包含所有数据的对象数组。让我感到困惑的是外部标记。我知道我必须构造一个表示对象的类,但是我是否也必须创建一个表示的类,因为它包含? 目前,我有一个名为的文件,其中包含以下内容: 我只包括了我计划使用的变量。上面的JSON数据包含在一个名为的字符串中,这就是我在main方

  • 问题内容: 假设我有json字串 现在我有一个班级用户 现在如何将上述json字符串转换为用户类对象 问题答案: 试试这个:

  • 问题内容: 在Java中,从Object转换为其他类型时,为什么第二行会产生与转换相关的警告,而第一行却没有? 问题答案: 这是因为在执行时,由于 类型Erase 不会 真正 检查对象是否为a 。真的只是将其投射到。例如: __ 有关更多信息,请参见Angelika Langer的Java泛型常见问题解答 ,尤其是类型擦除部分。

  • 本文向大家介绍如何使用GSON库将Java对象转换为JSON?,包括了如何使用GSON库将Java对象转换为JSON?的使用技巧和注意事项,需要的朋友参考一下 JSON或JavaScript Object Notation是一种轻量级的基于文本的开放标准,旨在用于人类可读的数据交换。JSON使用的约定是程序员已知的,包括C,C ++,Java,Python,Perl等。 有几种Java库可用于处理

  • 我有一个以以下格式返回json对象的响应: 我有一个Java类: 我想使用GSON将JSON对象映射到Java对象。 我尝试使用反序列化,它返回了JSON中嵌套值的。