如何从字符串

时间:2017-12-08 03:38:33

标签: java json gson

我正在使用Gson Library来阅读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"
}

1 个答案:

答案 0 :(得分:1)

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

然后你可以打电话

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

将JSON字符串转换为Map