首页 > 解决方案 > 在 Kotlin 中从类似 JSON 的字符串中解析列表

问题描述

我有一个下面的字符串:

[{-600,0},{0,10},{100,20},{150,100},{400,10},{500,0}]

看起来它不是一个正确的json。我需要从这个字符串中获取每个值,即 -600、0、10、20 等。

是否可以通过 Gson.parseJson() 或者我必须手动管理它?如何?有什么逻辑吗?请指导..

标签: jsonkotlinparsing

解决方案


不妨放弃将其视为“几乎是 JSON”并将其解析为字符串 - 删除[]{}字符和spliton ,

fun main() {
    val regex = """(\{|\}|\[|\])""".toRegex()

    val data = "[{-600,0},{0,10},{100,20},{150,100},{400,10},{500,0}]"

    regex.replace(data, "").split(",").also {
        println(it) // [-600, 0, 0, 10, 100, 20, 150, 100, 400, 10, 500, 0]
    }
}


推荐阅读