gpt4 book ai didi

go - 如何从 golang 中的 JSON 数组中删除元素?

转载 作者:IT王子 更新时间:2023-10-29 01:38:36 24 4
gpt4 key购买 nike

我有一个JSON字符串数组

例如:

[
{
"name":"abc"
"age":25
}
{
"name":"xyz"
"age":"26"
}
]

在运行时我想从数组中删除“name”。怎么办。我不想解码它。

[
{
"age":25
}
{
"age":"26"
}
]

最佳答案

你可以通过使用这个包来做你想做的事gjson , 和 sjson .

例子:

package main

import (
"fmt"
"log"
"strconv"

"github.com/tidwall/gjson"
"github.com/tidwall/sjson"
)

func main() {
bJSON := []byte(`
[
{
"name": "abc",
"age": 25
},
{
"name": "xyz",
"age": 26
}
]
`)

newJSON := bJSON
var err error

result := gjson.GetBytes(bJSON, "#.age")

for i := range result.Array() {
newJSON, err = sjson.DeleteBytes(newJSON, strconv.Itoa(i)+".age")
if err != nil {
log.Println(err)
}
}

fmt.Println(string(newJSON))
}

输出:

[
{
"name": "abc"
},
{
"name": "xyz"
}
]

关于go - 如何从 golang 中的 JSON 数组中删除元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45109397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com