快捷搜索:  汽车  科技

go 语言如何比较两个json(Go语言学习3-json转换)

go 语言如何比较两个json(Go语言学习3-json转换)如果您觉得对您有用的话 可以点个赞或者加个关注 欢迎大家一起进行技术交流

前言

突然想起go语言怎么进行json转换(2018.10.13) 因为是学习所以优先使用go自带的json组件 主要其他的组件也不会.

代码

package main import ( "encoding/JSON" "fmt" ) type Person struct { Name string `json:"name"` //加Tag 转json将Name替换为name Sex string `json:"-"` //加Tag 转json和json转类型 "-" 都不输出该字段 Age int } func main() { p := Person{"tom" "man" 23} ToJSON1(p) ToJSON2(p) ToObejct("{\"name\":\"hello\" \"Sex\":\"man\" \"Age\":32}") } //ToJSON1 进行转json func ToJSON1(p Person) { buf err := json.Marshal(p) //将结构体Person类型进行转json 返回byte if err != nil { fmt.Println("convert json failed: " err) return } fmt.Println(buf) fmt.Println("json1=" string(buf)) } //ToJSON2 对json进行格式化 方便阅读 //第二个参数对json的"{" "}"位置调整 可以用空格 \t //第三个参数对结构内的字段位置调整 可以用空格 \t func ToJSON2(p Person) { buf err := json.MarshalIndent(p "" "") if err != nil { fmt.Println("convert json failed:" err) return } fmt.Println("format json=" string(buf)) } //ToObejct 将字符串转Person func ToObejct(str string) { buf := []byte(str) var p Person err := json.Unmarshal(buf &p) if err != nil { fmt.Println("convert Person failed:" err) return } fmt.Printf("p.Name=%s p.Age=%d\n" p.Name p.Age) }

go 语言如何比较两个json(Go语言学习3-json转换)(1)

go语言进行json转换

学习go语言 纯粹是个人喜欢 后面还有一段时间喜欢上Rust 工作主要使用C# 后面精力主要放在C# 空余时间在学习CoreCLR源码 等搞明白了 在写点东西.

个人能力有限 如果您发现有什么不对 请私信我

如果您觉得对您有用的话 可以点个赞或者加个关注 欢迎大家一起进行技术交流

猜您喜欢: