我一直在尝试创建一个动态文本抓取系统,以便能够更轻松地将 future 的程序翻译成不同的语言。我对 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
并获得返回?
最佳答案
获取 Jackson(使用 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 接口(interface),但如果您习惯这样做,您就会知道如何为其他对象执行此操作。
关于java - 如何将 JSONobject 转换为对象映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28288809/