该第三方包采用go语言开发:https://github.com/tidwall/sjson
先来看看官方的案例:
package main
import "github.com/tidwall/sjson"
const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`
func main() {
value, _ := sjson.Set(json, "name.last", "Anderson")
println(value)
}
输出:
{"name":{"first":"Janet","last":"Anderson"},"age":47}
可以看到,直接把last对应的值搞成了 Anderson
如果是多维呢?按照官方的示例,自己做了一个简单的demo:
const json = `{
"demo": [
{
"name": "name",
"title": "title",
"info": {"key":"val"},
"url": "http://goo.gl"
},
{
"name": "name_2",
"title": "title_2",
"info": {"key_2":"val_2"},
"url": "https://google.com"
}
]
}`
value, _ := sjson.Set(json, "demo.1.url", "http://baidu.com")
println(value)
输出
{
"demo": [{
"name": "name",
"title": "title",
"info": {
"key": "val"
},
"url": "http://goo.gl"
},
{
"name": "name_2",
"title": "title_2",
"info": {
"key_2": "val_2"
},
"url": "http://baidu.com"
}
]
}
可以看出demo下的第二个url参数已经发生改变了!
如果需要值全部改变可以用
sjson.Set(json, "demo.#.url", "xxx")
最后
以上就是每日一库最近收集整理的关于一个快速处理json的第三方包(强烈推荐)的全部内容,更多相关一个快速处理json内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复