我正在使用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/