如何在 Golang 中將 JSON 解碼為物件?
假設我們有一個如下所示的 JSON。
{
"name":"Mukul Latiyan",
"age":10,
"sports":[
"football",
"tennis",
"cricket"
]
}現在,我們想將此 JSON 轉換為我們稍後可以訪問乃至遍歷的**結構**欄位。
為此,我們首先需要建立**結構**,該**結構**將滿足上述 JSON 的欄位。
下面顯示的**結構**適用於上述 JSON。
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Sports []string `json:"sports"`
}現在,下一步是用型別轉換的幫助將上述 JSON 物件轉換為位元組切片,然後,我們將該位元組切片連同**Person**物件作為第二個引數傳遞給**Unmarshal()**函式。
示例
考慮以下所示程式碼。
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Sports []string `json:"sports"`
}
func main() {
text := []byte(
`{
"name":"Mukul Latiyan",
"age":10,
"sports":["football","tennis","cricket"]
}`)
var p Person
err := json.Unmarshal(text, &p)
if err != nil {
panic(err)
}
fmt.Println(p.Name)
fmt.Println(p.Age)
for _, value := range p.Sports {
fmt.Println(value)
}
}在上述程式碼中,在呼叫**Unmarshal**函式後,我們僅列印**結構**中不同欄位的值。
如果我們在上述程式碼上執行命令 **go run main.go**,那麼我們將在終端中獲得以下輸出。
輸出
Mukul Latiyan 10 football tennis cricket
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP