日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame gjson-對(duì)象創(chuàng)建

?gjson?模塊除了最基礎(chǔ)支持的?JSON?數(shù)據(jù)格式創(chuàng)建?Json?對(duì)象,還支持常用的數(shù)據(jù)格式內(nèi)容創(chuàng)建?Json?對(duì)象。支持的數(shù)據(jù)格式為:?JSON?, ?XML?, ?INI?, ?YAML?, ?TOML?。此外,也支持直接通過?struct?對(duì)象創(chuàng)建?Json?對(duì)象。

我們一直強(qiáng)調(diào)成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)對(duì)于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站建設(shè)公司不一定是大公司,創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

對(duì)象創(chuàng)建常用?New?和?Load*?方法,更多的方法請查看接口文檔:https://pkg.GO.dev/github.com/gogf/gf/v2/encoding/gjson

使用New方法創(chuàng)建

通過JSON數(shù)據(jù)創(chuàng)建

jsonContent := `{"name":"john", "score":"100"}`
j := gjson.New(jsonContent)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100

通過XML數(shù)據(jù)創(chuàng)建

jsonContent := `john100`
j := gjson.New(jsonContent)
// Note that there's root node in the XML content.
fmt.Println(j.Get("doc.name"))
fmt.Println(j.Get("doc.score"))
// Output:
// john
// 100

通過Strcut對(duì)象創(chuàng)建

type Me struct {
    Name  string `json:"name"`
    Score int    `json:"score"`
}
me := Me{
    Name:  "john",
    Score: 100,
}
j := gjson.New(me)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100

自定義Struct轉(zhuǎn)換標(biāo)簽

type Me struct {
    Name  string `tag:"name"`
    Score int    `tag:"score"`
    Title string
}
me := Me{
    Name:  "john",
    Score: 100,
    Title: "engineer",
}
// The parameter  specifies custom priority tags for struct conversion to map,
// multiple tags joined with char ','.
j := gjson.NewWithTag(me, "tag")
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
fmt.Println(j.Get("Title"))
// Output:
// john
// 100
// engineer

使用Load*方法創(chuàng)建

最常用的是?Load?和?LoadContent?方法,前者通過文件路徑讀取,后者通過給定內(nèi)容創(chuàng)建?Json?對(duì)象。方法內(nèi)部會(huì)自動(dòng)識(shí)別數(shù)據(jù)格式,并自動(dòng)解析轉(zhuǎn)換為?Json?對(duì)象。

通過Load方法創(chuàng)建

  • ?JSON?文件
 jsonFilePath := gdebug.TestDataPath("json", "data1.json")
 j, _ := gjson.Load(jsonFilePath)
 fmt.Println(j.Get("name"))
 fmt.Println(j.Get("score"))

  • ?XML?文件
 jsonFilePath := gdebug.TestDataPath("json", "data1.xml")
 j, _ := gjson.Load(jsonFilePath)
 fmt.Println(j.Get("doc.name"))
 fmt.Println(j.Get("doc.score"))

通過LoadContent創(chuàng)建

jsonContent := `{"name":"john", "score":"100"}`
j, _ := gjson.LoadContent(jsonContent)
fmt.Println(j.Get("name"))
fmt.Println(j.Get("score"))
// Output:
// john
// 100

網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame gjson-對(duì)象創(chuàng)建
文章地址:http://www.5511xx.com/article/cdejgij.html