我有以下课程:
class IndexItem {
private String word;
private HashMap<String, Integer> docs;
private Integer total;
public IndexItem(String word) {
this.total = 0;
this.docs = new HashMap<String, Integer>();
this.word = word;
}
public IndexItem() {
this.total = 0;
this.docs = new HashMap<String, Integer>();
this.word = "";
}
}
我还使用GSON从此类实例之一编码了以下JSON字符串:
{"word":"refer","docs":{"c84ada58bb47e7ee8fab14d6d0ae1978.html":7,"7664010c28b7366813f52b30fd683f43.html":6,"a51ed147e16ea44244d7362367caeb4e.html":2},"total":15}
我尝试运行以下命令来解码此字符串:
IndexItem item = new Gson().fromJson(jsonStr, IndexItem.class);
当我尝试运行它时,我收到以下错误消息:
Exception in thread "main" com.google.gson.JsonParseException:
The JsonDeserializer MapTypeAdapter failed to deserialized
json object
{"c84ada58bb47e7ee8fab14d6d0ae1978.html":7,"7664010c28b7366813f52b30fd683f43.html":6,"a51ed147e16ea44244d7362367caeb4e.html":2}
given the type class java.util.HashMap
at
com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:63)
at
com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88)
at
com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:116)
我是GSON的新手,很长一段时间都没有处理Java。所以我的问题是:
有没有办法让GSON解码我的课程中的HashMap? 还是我将这一切都弄错了,应该采取不同的方法?如果是这样,我应该在哪里看?
很抱歉回答我自己的问题,但是…
发送给Gson之前,请确保在JSON字符串周围清除了空格。
问题内容: 我想使用Api GSON通过java解析JSON文件以获取JSON文件的最后一个字段: 描述符.json: ListTeleServices.java: TeleService.java: Record.java: 最后是我的解析器类 JSONMainParse.java: 对我来说似乎正确,它应该显示:“ amine1”,但它在以下位置给了我一个 nullPointerExcepti
问题内容: 我想从类型为的JSON解析数据。我正在使用Google Gson。 我有: 我的课是: 问题答案: 这是执行此操作的简单代码,我避免了所有检查,但这是主要思想。 为了使使用更加通用- 您会发现Gson的javadocs非常清楚并且很有帮助。
本文向大家介绍如何在Java中使用Gson实现自定义JSON序列化?,包括了如何在Java中使用Gson实现自定义JSON序列化?的使用技巧和注意事项,需要的朋友参考一下 如果我们需要一种将 java对象转换为JSON的方法,则Gson库提供了一种通过向GsonBuilder 注册自定义序列化器来指定自定义序列化器的方法。我们可以通过覆盖com.google.gson.JsonSerializer
使用Jackson(最新版本可以)为JAVA bean/POJO类生成一个JSON模式,这样它就可以正确地包含嵌套对象的结构,并且还希望向嵌套POJO添加自定义属性(在我的例子中,希望为每个嵌套POJO参数添加一个完全分类的classname属性)。 用例- 比如说,我有一个Person类,如下所示。我用这个人作为我某个操作的参数。- 这个问题肯定与此相关--如何使用jackson遍历生成的jso
我希望通过java使用Api GSON解析一个JSON文件,以获取JSON文件的最后字段: json: java:
问题内容: 我有一个Java类,用户: 我收到一个包含来自Web服务的用户对象的JSON列表: 我试图编写一个自定义反序列化器: 但是我的解串器不起作用。如何为Gson编写自定义JSON解串器? 问题答案: