首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析以number为关键字段的json对象?

解析以number为关键字段的json对象?
EN

Stack Overflow用户
提问于 2020-04-19 17:37:19
回答 1查看 157关注 0票数 1

我试图将json解析成kotlin对象,但问题是它的关键字段是数字,我不知道如何解析它们,我尝试了序列化的name,但仍然面临问题。

json响应如下所示:

代码语言:javascript
运行
复制
{
    "Id": [{
            "1": {
                "name": "name1",
                "class": "11a"
            }
        },
        {
            "2": {
                "name": "name2",
                "class": "11b"
            }
        }
    ]
}

我使用的是gson,我要做的主要事情是将这个数字字段存储为一些其他的string对象。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-19 19:19:50

您可以将它们解析为一个映射列表,然后将它们“映射”到您的数据类:

代码语言:javascript
运行
复制
    val input = """{
    "Id": [{
            "1": {
                "name": "name1",
                "class": "11a"
            }
        },
        {
            "2": {
                "name": "name2",
                "class": "11b"
            }
        }
    ]
}"""

    val gson = Gson()
    val parsed: Map<String, List<Map<String, Any>>> = 
        gson.fromJson(input, (object : TypeToken<Map<String, List<Map<String, Any>>>>(){}).type)
    println(parsed["Id"]?.get(0)?.get("1")) // {name=name1, class=11a}

不过,它会有一些讨厌的通用签名。

如果你正在使用Kotlin,看看Klaxon,它会改善你的体验。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61302252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档