Kotlin之JSON格式解析

kotlin解析json文件

第一步:首先导入KlaXon库,官网地址是:https://github.com/cbeust/klaxon
导入成功后我们将试着编译一个Json资源
创建Gradle 项目 导入包
repositories {
jcenter()
}

dependencies {
implementation ‘com.beust:klaxon:5.0.1’
}
完成导入工作就可以使用了
第二步:编译开始

val JsonObjec = json{
obj(“name” to “zhangsan” , “age” 33)} 这是第一种创建方式 类似{ “name”:“zhangsan” “age”=30}
JsonObjec.put(“sex”,flast) 这是第二种创建方式,类型{“sex”:flast}
val list = listOf(1,3)
JsonObject.put(a,list) 数组的创建方式,类似{“a”:[1,3]} 可以实现多重嵌套
到现在编码已经完成,打印出来到就是一个完整到json格式

如果是要解析Json文件,其实很简单!需要创建Parser具体看代码即可

//创建了原始字符串
val objectString = “”"{
“name” : “Joe”,
“age” : 23,
“flag” : true,
“array” : [1, 3],
“obj1” : { “a” : 1, “b” : 2 }
}"""
val parser = Parser.default
var stringParser = parser.parser(StringBuilder(objectString)) 解析其实已经完成了
stringParser.string(“name”) 打印出来就是 Joe
stringParser.toJsonString 打印就是完整到json文件
但是如果我们要取出array里面到1,3里面到数值,还需一些操作
val JsonAry = stringParser.array< Int >(“array”) as JsonArray< Int > 如果确定是返回这个对象可以写as
取出数值是 JsonArt[0] 取出来到就是1 ,依此类推
但是如果要取出obj1到数据昵
我们需要执行
val jsonobj1 = stringPraser.obj(“obj1”) as JsonObject 得到这个就非常到简单能取出数字了
obj1对应到a和b是一个int数值,那我们可以使用int方法取出
val int1 = jsonobj1.int(“a”) 这样我们就得到数值1了 ,b的得到方法也是一样的

就这样我们完成了编码json和解析json了。

你可能感兴趣的:(笔记)