java - 如何从字符串中读取自定义 Json 对象

标签 java json gson

我正在使用Gson库来读取Json。我有一个并不总是相同的 Json 对象,因此我无法定义具有特定属性的类。

我想把它读为 String然后将其拆分并操作为 Map<K,V>

下面是我的对象。

我想要row申请转换为String阅读时。

{
   "data":{
      "sampleTime":"2017-12-08T02:24:26.334Z",
      "target":{
         "gateway":"TRADPRT_OTPLTP_GDCE",
         "probe":"HKLGISWAS02B-7102",
         "managedEntity":"HKLGISWAS02B-7102",
         "type":"Core_Linux",
         "sampler":"Disk",
         "dataview":"Disk",
         "filter":{
            "osType":"Linux",
            "pluginName":"DISK"
         }
      },
      "name":"freeSpace",
      "row":{
         "/":"5806 MB",
         "/sys":"0 MB",
         "/dev/pts":"0 MB",
         "/dev/shm":"64475 MB",
         "/boot":"28 MB",
         "/home":"6775 MB",
         "/opt":"5971 MB",
         "/tmp":"4287 MB",
         "/u/operator":"277 MB",
         "/usr/controlm":"3665 MB",
         ...
         "/apps/S2B/WBDS":"11249 MB"
      }
   },
   "operation":"update"
}

最佳答案

复杂的 JSON 可以表示为 Map<String, Object> ,其中Object也可以是Map<String, Object> , 等等。 (如果我正确理解你的问题)

然后你就可以打电话了

Map<String, Object> o = gson.fromJson(jsonString, new TypeToken<Map<String, Object>>() {}.getType());

将 JSON 字符串转换为 Map

关于java - 如何从字符串中读取自定义 Json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47707327/

相关文章:

java - 根据服务器的频率和启动设置任务的启动

java - 根据特定属性组合两个对象列表

javascript - AngularJS(前端)和 Laravel(后端)中 JSON/Arrays 中的 NULL

javascript - JSON 语法 - 变量被解释为文字

java - 使用gson在json中剪切太长的字符串

java - 将 JSON 解析为对象

java - 使用 GSON 将 JSON 字符串转为 Java 对象

java - IoC 容器是单例还是静态的?

java - 使用jquery加密用户密码并使用Clojure解密

python - 解析 json 并通过它进行搜索