- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 flexjson
库。但在我的对象中我必须使用:com.google.api.client.util.DateTime
没有无参数构造函数。我总是收到 NoSuchMethodException
消息:Flexjson will instantiate any protected, private, or public no-arg constructor.
我有源代码并试图用它做一些事情,这里是代码:
constructor = clazz.getDeclaredConstructor();
constructor.setAccessible(true);
return constructor.newInstance();
由于缺少空构造函数,clazz.getDeclaredConstructor()
中抛出异常。查找带有这些签名的构造函数的最佳方法是什么:
日期时间(长时间戳)
?
有人在使用这个库时遇到过这种问题吗?也许您可以建议使用其他一种。我使用它来序列化 Google Cloud Endpoints
生成的对象。也许我可以用不同的方法做到这一点?
最佳答案
您不必更改 Flexjson 的源代码即可执行此操作。处理这个问题的方法是创建您自己的 ObjectFactory 实现并为您要绑定(bind)的类型注册它。从那里您可以根据需要实例化它。最简单的方法是继承 BeanObjectFactory 并重写方法 instantiate()。在那里你可以做任何你想做的事情来创建你想要的对象的实例。通过子类化 BeanObjectFactory,它将使用该对象的 setter/getter 将 JSON 中的各个属性绑定(bind)到对象中。如果您的对象不支持属性方法,您可能会发现实现 ObjectFactory 并从 JSON 手动设置该对象的值会更容易。 Flexjson 网站上有很多有关构建 ObjectFactories 的文档。
然后您可以使用以下方法将 ObjectFactory 注册到该数据类型:
new JSONDeserializer<SomeObject>()
.use( DateTime.class, new DateTimeObjectFactory() )
.deserialize(json);
关于java - 使用 flexjson 序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362826/
我正在使用 FlexJSON,但在从 int 解析 Date 对象时遇到问题。我正在尝试像这样使用 JSONDeserializer: String json = decryptJson(new St
在 Play Framework 中使用 FlexJSON 2.1 时如何使用自定义顺序?现在我有: public String toJsonString() { // Include id
我正在从 Web 服务接收 JSON 响应,但由于各种原因,我不希望在最终响应对象中反序列化某些属性。例如我有: public class Foo { private String bar;
我是 flexjson 的新手。 我尝试了以下 java 代码进行测试:“FlexjsonTest.zip”。 运行程序的结果在“Protocol.txt”中。 我从命令行运行代码: javac Fl
我是 FlexJson 的新手,正在关注 http://flexjson.sourceforge.net/用于简单教程。 我写了一个简单的程序,但它似乎没有序列化对象属性。如果有人知道这件事,请帮助我
序列化对象时有时会出现此错误 flexjson.JSONException: Error trying to deepSerialize at flexjson.transformer
我正在尝试序列化这个内部类 static class functionMessage{ String type = "function"; String id; String
我正在向我的 Web 应用程序添加 RESTful 支持(使用 Spring),以便我可以执行如下所示的 CRUD 操作:读取有关参与者的信息 (JSONSerialize): $ curl -i -
我正在尝试使用 flexjson 库。但在我的对象中我必须使用:com.google.api.client.util.DateTime 没有无参数构造函数。我总是收到 NoSuchMethodExce
我有一个字符串: [{"product_id":"2","name":'stack"'},{"product_id":"2","name":"overflow"}]" 如何使用 Flexjson 的
我在尝试反序列化我的数据结构时遇到错误,该数据结构是一个项目列表,其中每个项目都实现一个接口(interface)。另外,接口(interface)的字段之一是object,每个继承都将这个Objec
我正在使用 Flexjson 将这样的类序列化为 JSON: public class Item { private Long id; private String name;
我使用 FlexJson 进行序列化,唯一的问题是它生成小写的字段名称,而我需要它们以大写开头: class Person { String name; public String
我有一个 Java 类,我想从该类的对象生成 JSON 字符串。然而,该类的成员如下: /** * The set containing the footer texts */ public He
我正在使用 Oracle OPAM,它有一个具有类似方法的 REST API { "Target Collection":[ { "target":{ "u
我在尝试使用 FlexJSON 序列化 JPA/Hibernate 实体时遇到了一个非常奇怪的错误。对象本身并不花哨;只是字段和其他对象之间的关系。 Caused by: flexjson.JSONE
当涉及到 flexjson 库时,我在使用 dexguard 时遇到了问题。尝试使用 JSONDeserializer 反序列化时,我不断收到以下错误。 **09-15 20:46:10.271 1
使用 Flexjson ,我正在尝试序列化一个包含列表的对象(“有效负载”)。每个 MyBean 都有一个字段“items”,它是一个 Map>。当我序列化此 Payload 对象时,映射字段(“it
我有一个带有 Double[] 变量的简单用户类,用于指定用户的位置。 @Document public class User { private long id; private D
我正在使用 Play Framework 公开 REST API,它返回一些 JSON 对象。 为了简化 API 的使用,我想在响应中返回一个“计算”字段。 不幸的是,在我的测试中,虽然 FlexJs
我是一名优秀的程序员,十分优秀!