当Json遇到Map
程序开发
2023-09-12 09:31:37
文章目录
前言
了解一下日常开发中关于 Json 解析的一些非常规用法,以及使用 fastjson 的一些总结。
Json 解析
常规使用
一般情况 Json 的使用都是非常简单的。 我们会根据上游定义的 Json 数据格式,由下游定义相应的解析模型。比如像下面这个简单的 Json 字符串。
{"name":"mike","address":"beijing"
}
一般会定义如下的数据类(以 Kotlin 为例)
data class KotlinPeople(val name: String? = "", val address: String? = "")
具体使用也是非常简单了,无论是借助 fastjson 、gson 或者是原生的 JsonObject 都可以非常方便的完成数据的序列化和反序列操作,比如以 fastjson 为例。
val people = JSONObject.parseObject(json, KotlinPeople::class.java)
val jsonStr = JSONObject.toJSONString(people)
无论原始的 Json 数据格式多么的复杂,包含原始数据类型、List、数组还是他类型,只要需要解析的属性的 key 是确定的,那么就可以定义出相应的数据模型来解析。 因为在定义任何一个数据模型是时,对于其中的每一个字段(或者叫做属性、类成员),唯一需要确定的就是变量的类型和变量名的名称,比如面对下面这个略显复杂的 Json :
{"token": "1234","key": "mute","simple": {"age": 11},"sites": [{"id": "1","name": "菜鸟教程","url": "www.runoob.com"},{"id": "2","name": "菜鸟工具","url": "c.runoob.com"},{"id": "3","name": "Google","url": "www.google.com"}]
}
我们依旧可以定义出如下的数据模型
public class SiteWrapper {public String token;public String key;public Simple simple;public List sites; public class Simeple {public String age;}public static class Site {public String id
标签:
上一篇:
ant 倒计时 发送验证码倒计时
下一篇:
相关文章
-
无相关信息