gpt4 book ai didi

java - 解析对列表的奇怪 Json 响应

转载 作者:行者123 更新时间:2023-12-05 00:13:07 28 4
gpt4 key购买 nike

我想将这个对象解析为一个字符串列表。我不需要键,只需要值作为字符串列表。

我不能有一个简单的模型类,因为在某些响应中键对象超过 1000 个并且是随机的。

所以请知道如何解析它以在 kotlin 或 java 中列出?

{
"data": {
"21": "593754434425",
"22": "4560864343802",
"23": "7557134347529",
"24": "5937544344255",
"25": "45608643438024",
"26": "75571343475293"
}
}

最佳答案

您可以先反序列化它,然后再转换为列表。

JSON 可以这样表示:

data class Response(val data: Map<String, String>)

你可以标记这个类@Serializable并使用Kotlinx Serialization反序列化它,或者你可以使用其他库,如 Moshi或 jackson (使用 jackson-module-kotlin )。

反序列化后,只需获取映射的值(它是一个集合):

val response = Json.decodeFromString<Response>(yourJsonString)

// this is a Collection, not List, but it should be good enough
val stringValues = response.data.values

// if you really need a List<String>
val list = stringValues.toList()

如果你想以键的自然顺序获取值,你也可以使用类似的东西:

val values = response.data.toSortedMap(compareBy<String> { it.toInt() }).values

关于java - 解析对列表的奇怪 Json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68994627/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com