码迷,mamicode.com
首页 > Web开发 > 详细

62_json文件解析成结构体格式

时间:2019-10-06 00:48:15      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:文本   pre   使用   字符串   mars   必须   fun   解析   定义   

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}

}

62_json文件解析成结构体格式

标签:文本   pre   使用   字符串   mars   必须   fun   解析   定义   

原文地址:https://www.cnblogs.com/zhaopp/p/11626081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!