作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用Klaxon读取“复杂” JSON?
我正在尝试使用klaxon的流api as documentation say。
我正在使用beginObject方法。如果我使用示例中给出的json,一切都很好
val objectString = """{
"name" : "Joe",
"age" : 23,
"flag" : true,
"array" : [1, 3],
"obj1" : { "a" : 1, "b" : 2 }
}"""
val objectString = """{
"name" : "Joe",
"age" : 23,
"flag" : true,
"array" : [1, 3],
"obj1" : {
"hello": { "a" : 1, "b" : 2 }
}
}"""
最佳答案
好的,所以我检查了源代码,似乎nextObject()
假定您正在处理一个简单的键值对象,其中值不是对象。
无论如何,还有另一种方式可以解析您指定格式的JSON,如下所示:
val objectString = """{
"name" : "Joe",
"age" : 23,
"flag" : true,
"array" : [1, 2, 3],
"obj1" : { "hello": {"a" : 1, "b" : 2 } }
}"""
class ABObj(val a: Int, val b: Int)
class HelloObj(val hello: ABObj)
class Obj(val name: String, val age: Int, val flag: Boolean, val array: List<Any>, val obj1: HelloObj)
val r = Klaxon().parse<Obj>(objectString)
// r is your parsed object
print(r!!.name) // prints Joe
print(r!!.array) // prints [1, 2, 3]
ABObj
表示以下JSON:
{"a": 1, "b": 2}
HelloObj
表示以下JSON:
{"hello": {"a": 1, "b": 2}}
Obj
引用顶级对象。
关于json - 克拉克森:希望有个名字,但得到了LEFT_BRACE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48272725/
我是一名优秀的程序员,十分优秀!