json-iterator 解析不确定key的Json
git: https://github.com/json-iterator/go
优点:当用户输入的json个字段key不确定使用json-iterator 顺序获取所有key:val
缺点:接口简单好用,就是官方文档太少
解析 Object
iter := jsoniter.ParseString(jsoniter.ConfigDefault, {name:"3", id:"d", type:"df"}
)
for field := iter.ReadObject(); field != “”; field = iter.ReadObject() {
if(iter.WhatIsNext() == jsoniter.ArrayValue){
readArray(iter)
}else if(iter.WhatIsNext() == jsoniter.ObjectValue){
readObject(iter)
}else{
s := iter.ReadString()
fmt.Println(field, “:”, s)
}
}
解析 Array
for iter.ReadArray() {
readObject(iter)
}
判断有效的json
if iter.WhatIsNext() == jsoniter.InvalidValue || iter.WhatIsNext() == jsoniter.NilValue {
fmt.Println(“InvalidValue”)
}