我正在尝试实现一个简单的命令行Java应用程序,该应用程序从RESTFULES服务中请求一些资源。有没有一种方法可以自动将JSON响应当作我的模型类?
在Objective-C中,有键值编码,使您可以通过其字符串表示形式创建对象,访问变量和方法。这可以用来自动将XML或JSON文档验证为对象,这是由Restkit等某些第三方库进行的。
。Java有类似的东西吗?我知道我可以使用JSON解析器获取文档的数组并映射表示,然后自己创建我的模型对象,但我想知道这是否可以自动化?
我昨天度过了整个晚上,寻找库,教程和用户指南。所有人都在解释如何构建RESTFULES服务,或者如果它是客户端应用程序,他们所做的只是下载一些JSON并将其打印到系统中。
看杰克逊
这样,您可以创建一个"匹配" JSON数据结构的类,杰克逊将自动实例化并为您填充类。然后,您已经与Java应用程序的其余部分集成在一起。
查看Google gson,它是Google的库/将JSON删除到Java和Java到JSON的库。
您也可以在http://www.mkyong.com/java/how-do-do-convert-java-java-object-to-from-json-forom-json-format-gon-gson-api/
在这里使用xstream库:( http://x-stream.github.io/json-tutorial.html)
package com.thoughtworks.xstream.json.test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;
public class ReadTest {
public static void main(String[] args) {
String json = "{"product":{"name":"Banana","id":123"
+ ","price":23.0}}";
XStream xstream = new XStream(new JettisonMappedXmlDriver());
xstream.alias("product", Product.class);
Product product = (Product)xstream.fromXML(json);
System.out.println(product.getName());
}
}