日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFramegjson-動(dòng)態(tài)創(chuàng)建修改

?gjson?除了能夠靈活解析、檢索未知數(shù)據(jù)結(jié)構(gòu)內(nèi)容,還能夠動(dòng)態(tài)創(chuàng)建和修改數(shù)據(jù)結(jié)構(gòu)內(nèi)容。

成都創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元南昌縣做網(wǎng)站,已為上家服務(wù),為南昌縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

動(dòng)態(tài)創(chuàng)建

示例1,簡單使用

func main() {
	j := gjson.New(nil)
	j.Set("name", "John")
	j.Set("score", 99.5)
	fmt.Printf(
		"Name: %s, Score: %v\n",
		j.Get("name").String(),
		j.Get("score").Float32(),
	)
	fmt.Println(j.MustToJsonString())


	// Output:
	// Name: John, Score: 99.5
	// {"name":"John","score":99.5}
}

示例2,創(chuàng)建數(shù)組

func main() {
	j := gjson.New(nil)
	for i := 0; i < 5; i++ {
		j.Set(fmt.Sprintf(`%d.id`, i), i)
		j.Set(fmt.Sprintf(`%d.name`, i), fmt.Sprintf(`student-%d`, i))
	}
	fmt.Println(j.MustToJsonString())


	// Output:
	// [{"id":0,"name":"student-0"},{"id":1,"name":"student-1"},{"id":2,"name":"student-2"},{"id":3,"name":"student-3"},{"id":4,"name":"student-4"}]
}

動(dòng)態(tài)修改

func main() {
	data :=
		`{
    "users" : {
        "count" : 2,
        "list"  : [
            {"name" : "Ming", "score" : 60},
            {"name" : "John", "score" : 59}
        ]
    }
}`
	if j, err := gjson.DecodeToJson(data); err != nil {
		panic(err)
	} else {
		j.Set("users.list.1.score", 100)
		fmt.Println("John Score:", j.Get("users.list.1.score").Float32())
		fmt.Println(j.MustToJsonString())
	}
	// Output:
	// John Score: 100
	// {"users":{"count":2,"list":[{"name":"Ming","score":60},{"name":"John","score":100}]}}
}

?JSON?數(shù)據(jù)通過?gjson?包讀取后,可以通過?Set?方法改變內(nèi)部變量的內(nèi)容,當(dāng)然也可以新增/刪除內(nèi)容,當(dāng)需要?jiǎng)h除內(nèi)容時(shí),設(shè)定的值為?nil?即可。?gjson?包的數(shù)據(jù)運(yùn)行時(shí)修改特性非常強(qiáng)大,在該特性的支持下,各種數(shù)據(jù)結(jié)構(gòu)的編碼/解析顯得異常的靈活方便。

?gjson?除了能夠靈活解析、檢索未知數(shù)據(jù)結(jié)構(gòu)內(nèi)容,還能夠動(dòng)態(tài)創(chuàng)建和修改數(shù)據(jù)結(jié)構(gòu)內(nèi)容。

動(dòng)態(tài)創(chuàng)建

示例1,簡單使用

func main() {
	j := gjson.New(nil)
	j.Set("name", "John")
	j.Set("score", 99.5)
	fmt.Printf(
		"Name: %s, Score: %v\n",
		j.Get("name").String(),
		j.Get("score").Float32(),
	)
	fmt.Println(j.MustToJsonString())


	// Output:
	// Name: John, Score: 99.5
	// {"name":"John","score":99.5}
}

示例2,創(chuàng)建數(shù)組

func main() {
	j := gjson.New(nil)
	for i := 0; i < 5; i++ {
		j.Set(fmt.Sprintf(`%d.id`, i), i)
		j.Set(fmt.Sprintf(`%d.name`, i), fmt.Sprintf(`student-%d`, i))
	}
	fmt.Println(j.MustToJsonString())


	// Output:
	// [{"id":0,"name":"student-0"},{"id":1,"name":"student-1"},{"id":2,"name":"student-2"},{"id":3,"name":"student-3"},{"id":4,"name":"student-4"}]
}

動(dòng)態(tài)修改

func main() {
	data :=
		`{
    "users" : {
        "count" : 2,
        "list"  : [
            {"name" : "Ming", "score" : 60},
            {"name" : "John", "score" : 59}
        ]
    }
}`
	if j, err := gjson.DecodeToJson(data); err != nil {
		panic(err)
	} else {
		j.Set("users.list.1.score", 100)
		fmt.Println("John Score:", j.Get("users.list.1.score").Float32())
		fmt.Println(j.MustToJsonString())
	}
	// Output:
	// John Score: 100
	// {"users":{"count":2,"list":[{"name":"Ming","score":60},{"name":"John","score":100}]}}
}

?JSON?數(shù)據(jù)通過?gjson?包讀取后,可以通過?Set?方法改變內(nèi)部變量的內(nèi)容,當(dāng)然也可以新增/刪除內(nèi)容,當(dāng)需要?jiǎng)h除內(nèi)容時(shí),設(shè)定的值為?nil?即可。?gjson?包的數(shù)據(jù)運(yùn)行時(shí)修改特性非常強(qiáng)大,在該特性的支持下,各種數(shù)據(jù)結(jié)構(gòu)的編碼/解析顯得異常的靈活方便。


網(wǎng)站名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFramegjson-動(dòng)態(tài)創(chuàng)建修改
標(biāo)題URL:http://www.dlmjj.cn/article/djcopjj.html