java - 当我获取字符串格式的 json 内容时,如何获取 json 键?

标签 java json rest

我从 URI 获取字符串格式的 json。

String srvdiagJson = getJsonFromHttpConnection(diagcon);

我的 json 数据如下所示。

{"hdd_errors":18446744073709552000,"vnet2_tx_packets":86647,"vnet2_rx":19753895921,"vda_write":2873672704,"hdd_read":180702,"vnet2_tx":15722682,"vnet2_rx_drop":691,"vnet2_rx_errors":0,"memory-swap_in":0,"hdd_read_req":78,"vnet2_tx_drop":0,"vnet2_tx_errors":0,"hdd_write":0,"memory":2097152,"memory-rss":1598552,"cpu0_time":48668260000000,"vda_read":251817472,"vda_write_req":267405,"vnet2_rx_packets":225351039,"memory-actual":2097152,"hdd_write_req":0,"vda_read_req":16222,"vda_errors":18446744073709552000}

我认为不需要解析数据。但我也尝试根据建议解析它并将其保存在对象和数组中。但我无法访问任何值。

最佳答案

您可以使用 jackson 将 json 字符串转换为 java 对象,反之亦然。例如

ObjectMapper mapper = new ObjectMapper();
String jsonStr = "{"hdd_errors":18446744073709552000,"vnet2_tx_packets":86647,"vnet2_rx":19753895921,"vda_write":2873672704,"hdd_read":180702,"vnet2_tx":15722682,"vnet2_rx_drop":691,"vnet2_rx_errors":0,"memory-swap_in":0,"hdd_read_req":78,"vnet2_tx_drop":0,"vnet2_tx_errors":0,"hdd_write":0,"memory":2097152,"memory-rss":1598552,"cpu0_time":48668260000000,"vda_read":251817472,"vda_write_req":267405,"vnet2_rx_packets":225351039,"memory-actual":2097152,"hdd_write_req":0,"vda_read_req":16222,"vda_errors":18446744073709552000}";

//JSON from String to Object
HddError obj = mapper.readValue(jsonStr, HddError.class);

关于java - 当我获取字符串格式的 json 内容时,如何获取 json 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38713301/

相关文章:

javascript - 将嵌套对象数组扩展到路径数组的最快方法(lodash)

windows - 从 Windows Powershell 脚本上传到 Artifactory

javascript - 如何对 json 文件使用 jQuery 自动完成功能?

java - Android:一个父 Activity 中的静态 TextView 和两个操作它的子 Activity 类

java - 如何让两个小程序共享字段

java - Java 中的 OOP 解析方程

javascript - 异步查询 JSON 对象

java - 如何从curl获取REST Web服务中的参数?

java - 使用 Spring Security for REST API 进行基本身份验证中的用户权限

java - 在多个字符处剪切 Java 字符串