我正在使用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"
}
答案 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