// json字段别名
type User struct {
    Id      int    `json:"id,string"`
    Name    string `json:"username"`
    Age     int    `json:"age,omitempty"`
    Address string `json:"-"`
}

// 字段别名
    `json:"username"`      // 得到的字段key为自定义的别名
    `json:"id,string"`     // 将int float bool 等以string类型序列化展示.
    `json:"age,omitempty"` // 如果是零值,则序列化时忽略这个字段,结果字段不存在
    `json:"-"`             // 绝对忽略这个字段
// 使用性能更好的github.com/json-iterator/go包序列化
// 只需要给json重新赋值

package main

import (
    "fmt"
    "github.com/json-iterator/go"
)

type User struct {
    Id      int    `json:"id,string"`
    Name    string `json:"username"`
    Age     int    `json:"age,omitempty"`
    Address string `json:"-"`
}

func main() {
    var json = jsoniter.ConfigCompatibleWithStandardLibrary
    u := User{
        Id:      12,
        Name:    "wendell",
        Age:     1,
        Address: "成都高新区",
    }
    data, err := json.Marshal(&u)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(string(data))
    //data:=[]byte(`{"id":"12","username":"wendell","age":1,"Address":"北京"}`)
    //u2 := &User{}
    //err = json.Unmarshal(data, u2)
    //if err != nil {
    //  fmt.Println(err)
    //}
    //fmt.Printf("%+v \n", u2)
}

[go]json序列化的更多相关文章

  1. .Net深入实战系列—JSON序列化那点事儿

    序 当前主流的序列化JSON字符串主要有两种方式:JavaScriptSerializer及Json.net(Nuget标识:Newtonsoft.Json).JavaScriptSerializer ...

  2. Newtonsoft.Json 序列化和反序列化 时间格式【转】

    1.JSON序列化 string JsonStr= JsonConvert.SerializeObject(Entity); eg:   A a=new A(); a.Name="Elain ...

  3. [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类

    [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...

  4. DotNet的JSON序列化与反序列化

    JSON(JavaScript Object Notation)JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.在现在的通信中,较多的采用JSON数据格式,JSON有 ...

  5. C#中JSON序列化和反序列化

    有一段时间没有到博客园写技术博客了,不过每天逛逛博客园中大牛的博客还是有的,学无止境…… 最近在写些调用他人接口的程序,用到了大量的JSON.XML序列化和反序列化,今天就来总结下json的序列化和反 ...

  6. 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具

    ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...

  7. Windows Phone 六、JSON序列化

    JSON序列化 public class Person { public int Id { get; set; } public string Name { get; set; } public in ...

  8. [MVC_Json序列化]MVC之Json序列化循环引用

    在做MVC项目时,难免会遇到Json序列化循环引用的问题,大致错误如下 错误1:序列化类型为“...”的对象时检测到循环引用. 错误2:Self referencing loop detected f ...

  9. NetworkComms V3 使用Json序列化器进行网络通信

    刚才在网上闲逛,偶然看到一篇文章 C#(服务器)与Java(客户端)通过Socket传递对象 网址是:http://www.cnblogs.com/iyangyuan/archive/2012/12/ ...

  10. json序列化时datetime的处理方法

    .net自带的json序列化器,JavaScriptSerializer和DataContractJsonSerializer,都是序列化成微软的datetime json格式,e.g. " ...

随机推荐

  1. MySQL详细知识点总结

    1 Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号 ...

  2. c# 构造函数举例

  3. JSONPlaceholder - 免费的在线REST服务(提供测试用的HTTP请求假数据)

    http://www.hangge.com/blog/cache/detail_2020.html 一.GET 方式请求数据1,获取文章(贴子)数据 二.POST 方式请求数据1,功能说明我们可以将数 ...

  4. string的 insert

    // inserting into a string #include <iostream> #include <string> int main () { std::stri ...

  5. Java&Selenium自动化测试调用JS实现单击

    Java&Selenium自动化测试调用JS实现单击 /* * the method of invoking js to do something * * @author davieyang ...

  6. layui模块化使用

    layui模块化使用分为两部分: 1.自身模块的设置与使用.2.自定义模块的设置与使用.直接上案例吧 <a>加载入口模块与自定义模块设置: <b>自定义模块名 <c> ...

  7. bat 判断 bat 是否是以管理员权限运行,和自动以管理员权限运行

    bat 判断 bat 是否是以管理员权限运行,和自动以管理员权限运行 判断 @echo off net.exe session 1>NUL 2>NUL && ( goto ...

  8. php截取特定字符前面或后面的内容

    1.php 截取特定字符后面的内容 可以使用函数strripos,获取一个字符串在另一个字符串中第一次出现的位置. $number = '1_0'; $result = substr($number, ...

  9. nginx location if 的匹配规则

    cation匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,不是正则匹配.如果该选项匹配,只匹配该选 ...

  10. .net FileUpload上传图片 图片转换二进制,以及保存显示

    protected void Button1_Click(object sender, EventArgs e) { Stream stream = FileUpload1.PostedFile.In ...