62_json文件解析成結構體格式


package main

import (
"encoding/json"
"fmt"
)

type People struct {
//由於結構體生成json文本成員變量必須大寫,可以使用struct_tag來二次編碼,此時可以使用小寫
Name string `json:"name"`
Subject []string
Isok bool `json:", string"` //轉換成字符串類型輸出
Price float64 `json:"-"` //不打印
}
type People1 struct {
//由於結構體生成json文本成員變量必須大寫,可以使用struct_tag來二次編碼,此時可以使用小寫
Name string `json:"name"`
}

func main() {
//json文本
JsonBuff := `
{
"Name":"steven",
"Subject":[
"C++",
"Go",
"Python"
],
"Isok":true,
"Price":66.66
}

`
var p1 People
err := json.Unmarshal([]byte(JsonBuff), &p1) //這里p1一定是去地址
if err != nil {
fmt.Println("err=", err)
return
}
fmt.Println(p1) //{steven [C++ Go Python] true 0}
fmt.Printf("%+v\n", p1)
//{Name:steven Subject:[C++ Go Python] Isok:true Price:0}

//如果只想打印json中某個字段,可以結構體就定義哪一個
var p2 People1
err2 := json.Unmarshal([]byte(JsonBuff), &p2)
if err2 != nil {
fmt.Println("err2=", err2)
return
}
fmt.Println(p2) //
fmt.Printf("%+v\n", p2) //{Name:steven}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM