大家好,又见面了,我是你们的朋友全栈君。
第一步:首先导入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了。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127332.html原文链接:https://javaforall.cn