色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go 復制json節(jié)點

榮姿康2年前11瀏覽0評論

在 Go 語言中,JSON 是一個非常常用并且方便的數(shù)據(jù)格式。常見情況下,我們可能需要對 JSON 進行一些處理,比如復制某一個節(jié)點。下面我們來看看如何在 Go 中實現(xiàn)復制一個 JSON 節(jié)點。

package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonData := `{
"name": "張三",
"age": 22,
"address": {
"province": "上海市",
"city": "虹口區(qū)",
"detail": "xx街xx號"
}
}`
var data map[string]interface{}
json.Unmarshal([]byte(jsonData), &data)
// 復制地址節(jié)點到新的節(jié)點中
newAddress := make(map[string]interface{})
for k, v := range data["address"].(map[string]interface{}) {
newAddress[k] = v
}
// 修改新節(jié)點中的字段
newAddress["detail"] = "yy街yy號"
// 將新節(jié)點放入數(shù)據(jù)結構中
data["newAddress"] = newAddress
// 將數(shù)據(jù)結構轉回JSON字符串
jsonDataNew, _ := json.Marshal(data)
fmt.Println(string(jsonDataNew))
}

在上述代碼中,我們首先將 JSON 字符串轉為 Go 的結構體,然后通過 make 實現(xiàn)一個新的節(jié)點,再通過 for 循環(huán)將原來的地址節(jié)點內容全部賦值給新的節(jié)點中。最后修改新的節(jié)點中的 detail 字段,將新節(jié)點放入數(shù)據(jù)結構中,并將整個數(shù)據(jù)結構轉回為 JSON 字符串。

通過上述實現(xiàn),我們就可以很方便地在 Go 中復制 JSON 節(jié)點,滿足我們日常開發(fā)中的需求。