我是靠谱客的博主 每日一库,这篇文章主要介绍一个快速处理json的第三方包(强烈推荐),现在分享给大家,希望可以做个参考。

该第三方包采用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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部