struct转json

5年以前  |  阅读数:273 次  |  编程语言:Golang 

在结构体中引入tag标签,这样匹配的时候json串对应的字段名需要与tag标签中定义的字段名匹配,当然tag中定义的名称不需要首字母大写,且对应的json串中字段名仍然大小写不敏感。此时,结构体中对应的字段名可以不用和匹配的一致,但是首字母必须大写,只有大写才是可对外提供访问的。

package main

import (
        "fmt"
        "encoding/json"
)

type People struct {
        Name string `json:"name_title"`
        Age int `json:"age_size"`
}

func StructToJsonDemo(){
        p := People{
                Name: "jqw",
                Age: 18,
        }

        jsonBytes, err := json.Marshal(p)
        if err != nil {
                fmt.Println(err)
        }
        fmt.Println(string(jsonBytes))
}

func main(){
        StructToJsonDemo()
}
输出:



二、json和map互转

(1)json转map例子:

func JsonToMapDemo(){
        jsonStr := `
        {
                "name": "jqw",
                "age": 18
        }
        `
        var mapResult map[string]interface{}
        err := json.Unmarshal([]byte(jsonStr), &mapResult)
        if err != nil {
                fmt.Println("JsonToMapDemo err: ", err)
        }
        fmt.Println(mapResult)
}
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例