错误" []无法转换为JSON"尝试从String创建JSON对象时

时间:2016-05-07 03:04:34

标签: json gson kotlin

我使用Koltin语言和GSON库来创建/解析JSON。我有以下表示JSON对象的字符串

val jsonString = "{ \"age\": 22, \"height\" : 1.8, \"profession\":\"Student\", \"at_room\": false, \"gender\": \"male\",\"pictures\": []}"

当我尝试将此字符串转换为JSON对象时,执行

val jsonData = JsonParser().parse(jsonString).asJsonObject

我收到以下错误:

[] can not be converted to JSON

我猜这个错误是由于pictures是JSONArray而不是基本类型的事实。无论如何,我想知道如何正确地将此字符串转换为JSON对象。

1 个答案:

答案 0 :(得分:1)

您的代码很好,还有其他一些失败。

我试过这个并且它有效。

package proves

import com.google.gson.JsonParser

fun main(args: Array<String>) {
    val jsonString = "{ \"age\": 22, \"height\" : 1.8, \"profession\":\"Student\", \"at_room\": false, \"gender\": \"male\",\"pictures\": []}"
    val jsonData = JsonParser().parse(jsonString).asJsonObject
    print(jsonData)
}

输出:

{"age":22,"height":1.8,"profession":"Student","at_room":false,"gender":"male","pictures":[]}