【问题标题】:Error "[] cannot be converted to JSON" when trying to create a JSON Object from String尝试从字符串创建 JSON 对象时出现错误“[] 无法转换为 JSON”
【发布时间】:2016-05-07 03:04:33
【问题描述】:

我正在使用带有 GSON 库的 Koltin 语言来创建/解析 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 对象。

【问题讨论】:

  • 这是什么语言?
  • 我认为这不应该有一个Java标签,但你不需要在你的字符串中转义双引号吗?
  • @Ulises,带有 Gson 库的 Kotlin 语言
  • @cricket_007,我检查了 JSON here。这是一个有效的 JSON 文件
  • stackoverflow.com/questions/7634518/… 这可能会有所帮助

标签: json gson kotlin


【解决方案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":[]}

【讨论】:

    猜你喜欢
    • 2022-09-22
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2017-10-02
    • 1970-01-01
    相关资源
    最近更新 更多