如何将JSONobject转换为对象图?

时间:2015-02-02 23:32:31

标签: java json

我一直在尝试创建一个动态的文本抓取系统,以便能够更轻松地将未来的程序翻译成不同的语言。我对Java很新,所以我不太熟悉有的数据类型,但是可以使用JSON对象(使用simple.json)并将其转换为我可以轻松引用的内容。简明地?

例如,给定一个JSON字符串:

{
    "name": "John Doe",
    "country": "US",
    "age": 25,
    "family": {
        "immediate": {
            "spouse": "Johnette Doe",
            "children": [
                {
                    "name": "Jimbles Doe",
                    "age": "213"
                }
            ]
        }
    }
}

我怎样才能设置我的文件,以便我可以这样引用它:

JohnClass.family.immediate.children[0].name

并获得一个值作为回报?

1 个答案:

答案 0 :(得分:1)

获取杰克逊(使用maven依赖或下载jar):http://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.5.0

下面未经测试的代码,老实说是一个毫不费力的平底船,只是为了帮助您快速排序。

实例化JSONMapper(理想情况下在构造函数中):

ObjectMapper mapper = new ObjectMapper();

转换为Hashmap(您也可以转换为任何其他对象):

Map map = mapper.readValue("JSON_STRING_HERE", new TypeReference<HashMap>(){});

像这样访问:

map.get("family").get("immediate").get("children").get(0).get("name");

您也可以使用JSONObject同时实现Map接口,但如果您习惯这样做,您将知道如何为其他对象执行此操作。