Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Android GSON getAsString()方法不从JSON元素中去掉双引号?_Android_Json_Kotlin_Gson - Fatal编程技术网

Android GSON getAsString()方法不从JSON元素中去掉双引号?

Android GSON getAsString()方法不从JSON元素中去掉双引号?,android,json,kotlin,gson,Android,Json,Kotlin,Gson,我正在使用GSON解析这个JSON,但是当我尝试获取反序列化字符串时,仍然会在元素周围加上引号。例如,对于下面的代码: val ret = gson.toJson(tempObject.getAsJsonObject("medias") .getAsJsonObject("media").getAsJsonObject("media_sources") .getAsJsonArray("media_source").get(0).asJsonObject.get(

我正在使用GSON解析这个JSON,但是当我尝试获取反序列化字符串时,仍然会在元素周围加上引号。例如,对于下面的代码:

val ret = gson.toJson(tempObject.getAsJsonObject("medias")
        .getAsJsonObject("media").getAsJsonObject("media_sources")
        .getAsJsonArray("media_source").get(0).asJsonObject.get("source").asString)
Log.d(JOURNAL_FETCHR_TAG, "Value of ret is: $ret")
ret的值为:

D/JournalFetchr: Value of ret is: "http://telechargement.rfi.fr/rfi/francais/audio/jff/201808/journal_francais_facile_20h00_-_20h10_tu_20180820.mp3"

我可以直接得到子字符串来解决我的问题,但我很好奇为什么asString不给我没有引号的字符串?谢谢。

现在要做的是再次对字符串进行编码:

val tempObject = JsonObject().apply {
    addProperty("a", "b")
}
val r0 = tempObject.get("a").asString                  // b
val r1 = Gson().toJson(tempObject.get("a"))            // "b"
val r2 = Gson().toJson(tempObject.get("a").asString)   // "b"
val r3 = Gson().toJson(tempObject.get("a").toString()) // "\"b\""

asString
返回字符串值。调用它
toJson()
会添加引号。

你确定额外的引号不是JSON的一部分吗?也许吧,但是当我删除
asString
D/JournalFetchr:ret的值为:"http://telechargement.rfi.fr/rfi/francais/audio/jff/201808/journal_francais_facile_20h00_-_20h10_tu_20180820.mp3“如果打印整个JSON,您应该很容易检测引号是否是JSON的一部分