• golang easyjson使用


    golang easyjson使用

    1.先安装easyjson

    go get -u github.com/mailru/easyjson/
    

    2.在结构体上加//easyjson:json的注解

    //easyjson:json
    type School struct {
    	Name string		`json:"name"`
    	Addr string		`json:"addr"`
    }
    
    //easyjson:json
    type Student struct {
    	Id       int       `json:"id"`
    	Name     string    `json:"s_name"`
    	School   School    `json:"s_chool"`
    	Birthday time.Time `json:"birthday"`
    }
    

    3.执行命令生成easyjson文件

    easyjson  -all student.go  // 生成easyjson_student.go,为结构体增加了MarshalJSON、UnmarshalJSON方法
    

    4.使用示例

    package main
    
    import (
        "studygo/easyjson"
        "time"
        "fmt"
    )
    
    func main(){
        s:=easyjson.Student{
            Id: 11,
            Name:"qq",
            School:easyjson.School{
                Name:"CUMT",
                Addr:"xz",
            },
            Birthday:time.Now(),
        }
        bt,err:=s.MarshalJSON()  // MarshalJSON
        fmt.Println(string(bt),err)
        
        json:=`{"id":11,"s_name":"qq","s_chool":{"name":"CUMT","addr":"xz"},"birthday":"2017-08-04T20:58:07.9894603+08:00"}`
        ss:=easyjson.Student{}
        ss.UnmarshalJSON([]byte(json))  // UnmarshalJSON
        fmt.Println(ss)
    }
    

    说明:常见的json库:ffjson、json-iterator/go、go-simplejson, gabs, jason,jsonparser

    相关链接

    https://www.cnblogs.com/52fhy/p/11830755.html

    【励志篇】: 古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。
  • 相关阅读:
    Drupal 学习笔记 (4)
    property和field有什么区别
    Razor4Orchard v1.2
    Mono喜迁新家http://www.xamarin.com/
    jq中获取属性名的方法
    jquery中的文档操作之五
    PHP基础知识之三
    php基础知识之一
    注意点
    jquery中ajax的学习之$.ajax()
  • 原文地址:https://www.cnblogs.com/tomtellyou/p/14672479.html
Copyright © 2020-2023  润新知