zoukankan      html  css  js  c++  java
  • 60_通过结构体生成json


    1.json是跨平台.跨语言的数据交换语言

      JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。尽管JSON是JavaScript的一个子集,但JSON采用完全独立于编程语言的文本格式,且表现为键/值对集合的文本描述形式(类似一些编程语言中的字典结构),这使它成为较为理想的、跨平台、跨语言的数据交换语言。



    package main

    import (
    "encoding/json"
    "fmt"
    )

    //通过结构体生成json 文本,其成员变量名必须大写
    type People struct {
    //由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写
    Name string `json:"name"`
    Subject []string
    Isok bool `json:", string"` //转换成字符串类型输出
    Price float64 `json:"-"` //不打印
    } //这时输出的成员变量就是小写

    func main() {
    p1 := People{"steven", []string{"C++", "Go", "Python"}, true, 66.66}

    //编码
    res, err := json.Marshal(p1)
    if err != nil {
    fmt.Println("err=", err)
    return
    }
    //fmt.Println(res)//打印的是[]byte格式
    fmt.Println(string(res)) //转换成string类型

    //格式化编码,使结构更加清晰
    res1, err1 := json.MarshalIndent(p1, "", " ") //第二个参数是空,第三个是缩进
    if err != nil {
    fmt.Println("err1=", err1)
    return
    }
    fmt.Println(string(res1))
    }
    每天的价值就是不停息的前进!!!
  • 相关阅读:
    前端JS的服务订阅&服务发布
    身份证号码校验解释
    基于密码强度检测算法分析及实现
    身份证号码的正则表达式
    如何安装 Sublime text 编辑器相关的插件
    关于GatewayClient 介绍和使用
    GatewayWorker与ThinkPHP等框架结合
    如何知道使用的GatewayWorker版本号?
    Hibernate HQL
    Hibernate 一对一
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11625966.html
Copyright © 2011-2022 走看看