java - 如何将 JSONobject 转换为对象映射?

标签 java json

我一直在尝试创建一个动态文本抓取系统,以便能够更轻松地将 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/

相关文章:

java - 如何在 JTextArea 上添加 JScrollPane?

java - 如何在 Spring 中模拟 ModelMapper?

java - 如何检查节点是否已从内容存储库中删除?

javascript - 是否有完全实现的 REST javascript 客户端?

javascript - 如何在您的网站中嵌入样式化的谷歌地图

java - Spring 5 响应式(Reactive) websocket : Clients not receiving same data from hot stream

java - Hive、JDBC、TTransportException : SASL authentication not complete

json - 一个简单的 json 请求返回一个奇怪的字符串而不是 json 本身

javascript - 带有 ng-scroll 和 ng-repeat 的 AngularJS

ruby-on-rails - ruby rails : Problem adding Transient Attribute to Object for JSON Serializaton