如何从RESTFUL WEBS服务中对JSON的响应进行验证



我正在尝试实现一个简单的命令行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());
    }
}

最新更新