我一直在尝试创建一个动态的文本抓取系统,以便能够更轻松地将未来的程序翻译成不同的语言。我对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
并获得一个值作为回报?
答案 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接口,但如果您习惯这样做,您将知道如何为其他对象执行此操作。