当前位置:首页 > 其他 > 强烈推荐:一个快速处理json的第三方包

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取

强烈推荐:一个快速处理json的第三方包

原创 2021-12-14 其他 779
分享给朋友:

该第三方包采用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")


声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权

转载:转载请注明原文链接,违者必究 - :https://www.wolfcode.net/info/234/

分享给朋友:

相关文章

APP《单身话术语录》,上架iOS

在被苹果审核团队拒绝了N次后,终于成功上架!

宝塔WebHook中自动git拉取没有反应解决方法

最近遇到一个比较奇怪的问题,所有操作都完成后,无论怎么测试,git pull一直都不会执行,也没有报错.

推荐一款出色的SSH工具

​Tabby是一款可无限定制的跨平台终端应用,用于本地shell、串行、SSH和Telnet连接。支持SFTP。

为集群搭建一个定时任务集中调度系统

集群任务下,很多服务器的定时任务都单独集中在相对应的服务器crontab下,即使现在有了类似于宝塔之类的面板,但是定时任务还是得每台服务器单独登入后去配置。是否可以单独在一台机子上,控制所有的集群定时任务呢?答案是肯定的!!!gocron就可以做到,之前博主分享过单机搭建定时任务管理系统,那现在,我

Linux 日志清理

磁盘占用90%,占用过多,分析日志查看原因

Nginx 自动生成日志备份

Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据

3月18日,多年的老站终于破了1.5W的PV

从最早的建站初心是为了自己方便,从fivefilm.com到30942.com,有网友说域名不好记,索性注册了看个蛋(kangedan.com)的域名。6年多的时间(我也是随性等得起)0推广,纯自然流量!今天看了下PV记录,有点被吓到!特别纪念一下,之前都是几千IP,封顶也没超过1.5W。

如果你懂得用Excel,微软Power Fx助你成为一名优秀的程序员

在程序员的世界中,打开第一扇门永远是Hello World!这是Power Fx的一段最基础的语法。微软宣布推出新的开源编程语言 Power Fx,一种基于 Microsoft Excel 的低代码公式语言;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机

Deno初体验:一个简单的MVC案例

Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验。Deno 含有以下功能亮点: