Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串中读取自定义Json对象_Java_Json_Gson - Fatal编程技术网

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

Java 如何从字符串中读取自定义Json对象,java,json,gson,Java,Json,Gson,我正在使用Gson库来读取Json。我有一个Json对象,它并不总是相同的,所以我不能定义一个具有特定属性的类 我想把它读作字符串,然后把它拆分成映射 下面是我的目标 我希望在读取时将行字段转换为字符串 { "data":{ "sampleTime":"2017-12-08T02:24:26.334Z", "target":{ "gateway":"TRADPRT_OTPLTP_GDCE", "probe":"HKLGISWAS0

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

我想把它读作
字符串
,然后把它拆分成
映射

下面是我的目标

我希望在读取时将
字段转换为
字符串

{
   "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> o = gson.fromJson(jsonString, new TypeToken<Map<String, Object>>() {}.getType());
mapo=gson.fromJson(jsonString,newTypeToken(){}.getType());

要将JSON字符串转换为映射,请执行以下操作。。。问题是什么?它不是有效的JSON。只是在JSONLINT中进行了验证。请提供正确的JSON以获得正确的输出。@mckuok:请帮助我在读取JSON文件时将“Row”对象转换为字符串。@mohorchatt:完成。我只是在寻找要转换为字符串的行对象。谢谢你在说什么?为什么不能在JSONObject上使用toString()?