问题内容: 我有一个JSON,它可以是单个对象或相同对象的数组。有没有一种方法可以使用Gson解析此数据,从而区分单个对象还是数组? 我目前唯一的解决方案是手动解析json并用try catch包围它。首先,我将尝试将其解析为单个对象,如果失败,它将引发异常,然后尝试将其解析为数组。 我不想手动解析它……那将使我永远。这是正在发生的事情的想法。 这是可以是数组或单个对象的对象。 然后在与json响
问题内容: 我正在尝试使用Google App Engine上的GSON库将对象转换为JSON。由于某种原因,它将引发此异常,我不知道如何解决此问题。有什么建议? 我正在使用的代码: 问题答案: 该应用程序引擎确实支持反射-但是,您正在尝试反射JRE类的私有字段: 反射 允许应用程序完全,无限制地反射访问其自己的类。它可以查询任何私有成员,使用java.lang.reflect.Accessibl
问题内容: 我被困在我需要我的对象的设定参考使用反序列化过程中被解析到其子对象的问题和。 为了描述这个问题,下面是类结构的简单表示。 通过这样的结构,我能够设置在通过提供给我的,例如: 我知道,我可以添加额外的给我,但我不知道如何提供我的参考对象,它是在被解析(上即时)的进程对象? 任何帮助,将不胜感激! 问题答案: 您绝对应该使用GraphAdapterBuilder。 正如您在@Braj的回答
问题内容: 有没有一种方法可以将包含json的字符串转换为HashMap,其中每个键都是json键,而值是json键的值?json没有嵌套值。我正在使用Gson库。 例如,给定JSON: 产生的HashMap: 谢谢 问题答案: 使用,按照该GSON常见问题: 没有铸造。没有不必要的对象创建。
问题内容: 我想使用套接字(在开发远程PC时)从Android客户端向Java服务器发送2个对象。 当然我知道上面的方法是行不通的,因为它可以提供。所以现在我想知道如何使用Gson库对对象进行序列化和反序列化。提前致谢。 问题答案: gson可以在任何平台上与Java一起使用-不仅限于Android。 使用gson序列化单个对象: 使用gson反序列化为单个对象。 从示例中可以看到,gson非常神
问题内容: JSON对象示例如下所示: 假设通过链接www.domain.com访问上述对象,并且我具有以下用于表示数据的类 并且地址类如下: 当我尝试跑步 我收到以下错误: 预期为BEGIN_ARRAY,但在上述代码行中为字符串。我不确定我设置班级的方式是否有问题。注意:我正在使用一个数组(LocationData []数据),因为该服务返回了多个位置,尽管我刚刚在上面显示的示例中包括了一个
问题内容: 我正在编写一个将连接到服务器的类,并基于一些参数,检索一个json字符串,该字符串将与GSON一起解析为指定的(通过泛型)类。 负责班级的精简版看起来像这样: (-variable 看起来像这样。) 反序列化后存储数据的类如下所示: 数据正试图反序列化的类: 运行的代码利用了上面的类: 导致以下异常 ClassCastException:com.google.gson.internal
问题内容: 我在应用中使用Retrofit 2.0。一切都很好,但是当我开始不带参数的请求时,GSON返回: 这是我的API接口: 和模型类: 和代码片段: 我试图为GetPhones.class制作无参数的构造函数,但它没有任何改变。 问题答案: 接口()和模型类()的名称相同。 我认为您正在此行中使用接口: 但这应该是您的模型类。检查导入部分是否有此名称,或重命名模型类以确保您没有将其混合。
问题内容: 我有一个域对象Foo,我想解析一些JSON,例如 我想得到一个。像这样 问题答案: 您需要使用来正确表示类型。在这种情况下,由于与泛型类型的交互作用还不够。
问题内容: 在Jackson中,您可以通过在类级别进行注释来忽略属性,而不在JSON中的属性不会在Java类中进行序列化/反序列化。如果我们使用GSON,那相当于什么? 问题答案: 您可以使用使用GSON 注释获得类似的效果。 例如 如果与上述类一起使用,则和方法将完全忽略密码字段,因为它没有注释。 (请注意,在这里您还可以获得更细粒度的控制,因为您还可以控制GSON是否对字段进行序列化/反序列化
问题内容: 当对象包含传递给方法的内容时,下面显示的代码可以很好地工作。我想知道…是否有办法获取分配给键的不区分大小写表示的值? 例: 无论DESCRIPTION被定义为“ Description”,“ description”还是“ DeScRipTIOn”,它都应该起作用 问题答案: 不幸的是,当前的实现似乎没有办法做到这一点。如果查看Gson源代码,更具体地说是JsonObject实现,您将
问题内容: 我使用以下代码在Android中使用Gson比较了两个JSON对象: 有两种方法可以使用Gson以JSON格式获取两个对象之间的 差异 吗? 问题答案: 如果将对象反序列化为,也可以使用Guava,则可以用来比较两个生成的地图。 请注意,如果您关心元素的 顺序 ,则不会保留s 字段的顺序,因此此方法不会显示这些比较。 这是您的操作方式: 该程序输出: 在此处阅读更多有关结果对象包含哪些
问题内容: 使用Play Framework,我通过GSON序列化了模型。我指定哪些字段是公开的,哪些不是。 这很好用,但我也想使用@expose方法。当然,这太简单了。 我该怎么做 ? 谢谢你的帮助 ! 问题答案: 我遇到的最好的解决方案是制作一个专用的序列化器: 并在我看来像这样使用它: 但是为某个方法工作会很棒:它将避免使序列化器仅用于显示方法!
我们正在项目中使用mapstruct。虽然它适用于dto到域对象(比如EmployeeDTO到EmployeedData,具有类似属性)的总和,但我们需要处理传入的json字符串。我们正试图编写一个非常通用的映射程序,将传入的json字符串映射到java对象。 假设我们有这样的员工 {id: 1, name="xxx"}但它是以字符串形式出现的,因此我有一个mapstruct映射器 它工作不正常,
我正在使用SpotifyWebAPI获取包含唱片集信息的json对象。 这里是模型url 假设我正在寻找《涅磐》的专辑《无畏》,我有一个url https://api.spotify.com/v1/search?q=album:无心艺术家:涅槃 我在这里为Gson制作了一个“模型对象” 在这里,我尝试获取第一个图像url 问题是这句话很好 但是我不能用 因为我得到的错误。 我得到同样的错误为这些语