美文网首页
Android动态解析 JSON 密钥

Android动态解析 JSON 密钥

作者: 安安_660c | 来源:发表于2022-10-17 17:08 被阅读0次

JSON 代表 JavaScript 对象表示法。它是一种独立的数据交换格式,是 XML 的最佳替代方法。作为复习,JSON 文件有四个主要组件:JSON 数组、JSON 对象、键和值。通常,我们需要获取指定键的值。但密钥有时至关重要,您需要像某些货币兑换API一样获取它。在本文中,我们将通过处理两个示例来了解如何动态解析密钥。

首先,解析具有以下值的 JSON 键:

在第一个示例中,我们需要获取作为密钥的货币代码。



在上图中,货币代码位于红色框中,其旁边的双精度值是其汇率。因此,要为其创建模型类,您需要将字符串映射定义为键,并双精度值表示货币代码及其汇率。

@SerializedName("rates") 
val rates: Map<String, Double>,

货币代码 = > 键(字符串)
货币汇率 = >值(双倍)

要在适配器中访问它们,必须定义对变量

val currentRate: Pair<String, Double> = getItem(position)
val currencyCode = currentRate.first    // code
val currencyRate = currentRate.second   // rate

此映射的每个项目都是一对字符串键和双精度值。因此,您可以将所有项目作为列表或集获取,并将它们发送到适配器并显示它们。

其次,解析 JSON 嵌套键及其值

如果您的值是另一个对象,并且您希望其中的键和值,则应创建字符串映射作为键,另一个映射作为值。这意味着您需要获取嵌套键,并且应该创建一个字符串映射作为键,另一个映射作为值。



在上图中,您的键是红色框中的日期,您的值是货币代码和货币汇率,将由另一个地图表示。

因此,要为其创建模型类,我们将字符串的 Map 定义为键,将另一个映射定义为值。

@SerializedName("rates") 
val rates: Map<String, Map<String, Double>>,

键(字符串)= > 日期
值(另一个地图)
货币代码 = >键(字符串)
货币汇率 = >值(双倍)

要在活动中访问它们,您需要观察数据并获取它。

val response = data.rates
val dates = response.keys
val codes = response.values.keys 
val rates= response.values.values

这是该概念的两个示例,可帮助您在高级和复杂的 API 中解析 JSON。

相关文章

  • Android动态解析 JSON 密钥

    JSON 代表 JavaScript 对象表示法。它是一种独立的数据交换格式,是 XML 的最佳替代方法。作为复习...

  • Android json解析数据

    Android json解析动态获取key以及解析技巧http://blog.csdn.net/u01307297...

  • android 解析动态JSON数据

    需求 : 如题 , 最近项目中的某个接口 返回的JSON数据是不定的 动态的 , 这就比较坑了, 之前还真没遇到过...

  • Android万能解析Json(一)

    Android万能解析并获取Json数据,所有Json结构一个解决 想要解析Json数据,首先要了解Json数据的...

  • Gson序列化那些事

    Android开发中会经常解析json,使用retrofit框架常用gson解析json。Gson有一定的容错机制...

  • @SerializedName注解

    在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。G...

  • Python-json解析

    1.情景 爬虫离不了json的解析,但是目前很多网站中都使用json进行数据传输,动态展现,所以json的解析对于...

  • bom报头错误

    android解析json出错:JSONException: Value of type java.lang.St...

  • 菜鸟学习之Android中pull解析xml原理

    我们在开发Android app的时候,常常用到对数据进行解析,最常用的就是对xml,与json解析。json基本...

  • [NewtonSoft.Json] JObject 与 JTok

    引入NewtonSoft.Json; 有时需要动态一层一层解析Json数据,JObject是一个Json对象,但是...

网友评论

      本文标题:Android动态解析 JSON 密钥

      本文链接:https://www.haomeiwen.com/subject/rscszrtx.html