Json转Go工具
本页面免费为大家提供Json转Go,Json生成Golang结构体,json转go结构体,json生成go struct结构,可以勾选是否内联类型定义,快速将json转为可用的go结构体等,免费提供给需要的朋友使用。
JSON 格式数据简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。
这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
Go 语言struct结构体简介
学习过Go语言的朋友应该都知道,Go语言没有class,而是通过struct定义成员字段、通过receiver接收method实现成员方法。
Go语言本身没有继承功能,但可以通过struct嵌套结构来实现类似继承的功能。
JSON用于web传输数据有着极大的效率优势与操作便捷性。而json与struct之间的转换也是Go程序员经常会遇到的情况
JSON原代码
type JSONData struct { Name string `json:"name"` Code int `json:"code"` List []struct { Day int `json:"day"` } `json:"list"` }
转换后GO结构体
package main import ( "encoding/json" "fmt" ) type JSONData struct { Name string `json:"name"` Code int `json:"code"` List []List `json:"list"` } type List struct { Day int `json:"day"` } func main() { var jsonData JSONData jsonData.List = append(jsonData.List, List{1}) jsonData.List = append(jsonData.List, List{2}) respJson := JSONData{ Code: 1, Name: "小芳", List: jsonData.List, } b, err := json.Marshal(respJson) if err != nil { fmt.Println("JSON ERR:", err) } fmt.Println(string(b)) }