我得到了json文件和第三方类:Dealer和接口IDealerAttributes(我不能更改它们中的任何一个);(我删除包名并导入以使代码简单)
JSON file { "serviceURL": "com.mycompany.serviceURL", "dealerAttributes": [ { "language": "language0", "dealerAttributeName": "dealerAttributeName0", "updateDate": 0 }, { "language": "language1", "dealerAttributeName": "dealerAttributeName1", "updateDate": 1 } ] } class Dealer { private String serviceURL; private List dealerAttributes; public Dealer() { dealerAttributes = new ArrayList(); } //Getters and Setters... } public interface IDealerAttributes { public String getLanguage(); public String getDealerAttributeName(); public long getUpdateDate(); }
一旦我使用:
gson.fromJson(jsonObj.toString(), Dealer.class);
我将从这一行得到异常:
Exception unmarshalling json String into Object: com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@60e26ffd failed to deserialize json object [{"language":"language0","dealerAttributeName":"dealerAttributeName0","updateDate":0},{"language":"language1","dealerAttributeName":"dealerAttributeName1","updateDate":1}] given the type java.util.List
我如何读取这个基于Dealer.class、IdeAlerAttributes的json文件?
但我可以添加一个类,假设:
public class DealerAttributes implements IDealerAttributes { private String language; private String dealerAttributeName; private long updateDate; public DealerAttributes() { } //Getters and Setters... }
因为我是JSON/GSON的新手,你能给我详细的指导来帮助我吗?多谢了。
[添加]考虑一下Dealer类中是否有100个字段,并且Dealer中使用/嵌套了另外100个接口。我在想是不是有人有使用这种方式的经验:(MyType是接口)
gson.registerTypeAdapter(MyType.class, new MyType());`
您可以将其映射到一个映射列表,然后使用BeanMapper(如http://code.google.com/p/orika/)获取更多信息的错误消息
我在ASP. net中编写了一个endpoint(应该会返回一个漂亮的JSON),下面的错误让我困惑,因为通过我的Swagger界面,一切正常,但是如果我在浏览器中直接调用endpoint,http://localhost:63291/api/AutoUpload/我收到: 出现内部异常:类型 这看起来很奇怪,因为我认为我确实实现了一个无参数(默认)构造函数。我的代码如下 上述代码使用以下数据传输
我正在将RedditAPI中的一些内容反序列化到POJO中。我的目标是尽可能简化代码,因为reddit中实体之间的JSON结构通常是相同的。 例如,反序列化链接对象的JSON如下所示: 我可以反序列化这一点没有问题,但由于reddit注释的不同之处在于其类型为t1,并且在其下方的数据对象中具有不同的结构,因此我希望将相同的类结构重新用于JSON包装,而不必创建多个具有一行或两行差异的复制类。 我创
我有两个类和,它们都有公共getter和构造函数,在构造函数参数上用和标记。当提供正确的json时,这两个类都被正确反序列化。但是,当我提供一个json(类类型a的投影)并尝试将其反序列化为B类型对象时,我希望会抛出一个异常。结果是,jackson将json正确反序列化为B类型对象,但这个对象只是空的。这是默认的行为吗?我的是使用创建的。我可以以任何方式配置它,使它在描述的情况下抛出异常吗? A类
下面是我想与Jackson反序列化的JSON示例。 这里反序列化的棘手之处是联系人节点。需要注意的事情: contacts是一种多态抽象类型(参见下面的POJOs) 目标POJO: 注意:外部需求要求我使用抽象联系人类型。我宁愿直接反序列化到这些POJO,而不是让联系人类型挂起的中间POJO在另一个步骤中手动映射/转换到我的列表。 我已经查看了许多其他杰克逊多态反序列化问题,但似乎没有一个能处理这
主要内容:嵌套内部类示例,嵌套的静态内部类示例在本章中,我们将解释具有内部类的类的序列化/反序列化。 嵌套内部类示例 参考以下示例代码片段 - 示例 让我们来看看一个内部类的序列化/反序列化。 创建一个名为的Java类文件:GsonTester.java - 执行上面示例代码,得到以下结果 - 嵌套的静态内部类示例 参考以下代码实现 - 示例 我们来看一个实例,其中包含一个静态内部类的序列化/反序列化。 创建一个名为的Java类文件:Gson
问题内容: 我想对自己的自定义类进行JSON序列化。我正在使用Objective-C / iOS5。我想要执行以下操作: 看来NSJSONSerialization(和其他几个库)要求’person’类基于NSDictionary等。我想要一些可以序列化我想要定义的自定义对象的对象(在合理范围内)。 假设Person.h看起来像这样: 我希望为实例生成的JSON与以下内容相似: 我的应用程序使用A