Go 之 json 轉換使用

2021-10-04 13:25:44 字數 1280 閱讀 7072

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...