有谁知道是否有能力为JSON数据生成对象?我知道有通用的JSON对象库,但我正在寻找更具体的 - 类似于jaxb如何将SOAP定义或XSD转换为对象模型。我知道需要某种JSON定义文件(我不知道这个概念是否存在于JSON中),但我觉得这样会更有益。认为:
通用案例:
genericJsonObect.get("name");
具体案例:
specificJsonObject.getName();
答案 0 :(得分:3)
Jackson和XStream能够将json映射到POJO。
答案 1 :(得分:3)
您是否希望为您生成.java源文件?或者将现有的java bean映射到JSON对象?
如果是前者,那么没有这样的库(我知道),如果后者,Google GSON正是你所需要的。
来自样本:
class BagOfPrimitives {
public int value1 = 1;
private String value2 = "abc";
private transient int value3 = 3;
BagOfPrimitives() {
// no-args constructor
}
}
(序列化)
BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj);
System.out.println( json );
打印
{"value1":1,"value2":"abc"}
(反序列化)
BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);
System.out.println( obj2.value1 ) ; // value1 is 1
答案 2 :(得分:1)
答案 3 :(得分:0)
我不熟悉这样的代码生成项目,虽然我相信很多Java JSON库项目都会对这样的事情感兴趣。主要问题是JSON有一个很好的Schema语言可以生成代码; JSON Schema仅适用于验证。
但是:您可以考虑的一种可能性就是使用JAXB生成bean,然后使用Jackson来使用这些bean。它支持JAXB注释,因此您可以使用JSON和生成的bean。
答案 4 :(得分:0)
我发现这个网站非常有用。
http://jsongen.byingtondesign.com/并在我们的项目中使用过它。