package main
import
"fmt"
import
"encoding/json"
// 打上 tag,轉換為 json 後用tag中標註的欄位名字
// 結構體中的欄位名字需要大寫,否則轉換不會成功
type datatag struct
// 不打 tag,轉換為 json 後會使用結構體中定義的欄位名字
// 結構體中的欄位名字需要大寫,否則轉換不會成功
type datanotag struct
func
jsonusage
(clusterid, localip string
)// 將結構體資料轉換為 json
data1, err := json.
marshal
(msgtag)
if err ==
nilelse
msgnotag := datanotag
data2, err := json.
marshal
(msgnotag)
if err !=
nilelse
// 將 json 轉換為結構體
var datatag datatag
json.
unmarshal
(data1,
&datatag)
fmt.
printf
("struct(tag): %v \n"
, datatag)
var datanotag datanotag
json.
unmarshal
(data2,
&datanotag)
fmt.
printf
("struct(notag): %v \n"
, datanotag)
}func
main()
結果輸出:
//使用tag,轉換後json中的欄位名字使用tag中標註的欄位名字
json
(tag)
://未使用tag,轉換後json中的欄位名字直接使用結構體中的欄位名字
json
(notag):
//json轉換為結構體時,轉換前使用tag或者未使用tag要對應好
struct
(tag)
:struct
(notag)
:
Go基礎 Json在Go中的使用
本文主要根據go語言json包 1 官方提供的json and go 2 和go and json 3 整理的。marshal提供對資料進行json序列化的功能 func marshal v inte ce byte,error type message struct m message b,err...
Go語言中使用JSON
encode 將乙個物件編碼成json資料,接受乙個inte ce 物件,返回byte和error func marshal v inte ce byte,error marshal函式將會遞迴遍歷整個物件,依次按成員型別對這個物件進行編碼,型別轉換規則如下 bool型別 轉換為json的boole...
python之json和dict轉換
import json dict dict to json json data json.dumps dict json to dict dict data json.loads json data 字典轉json然後寫入到檔案,檔案不存在自動建立 with open a.json w as f j...