Go: Marshal、MarshalIndent、Unmarshal



MarshalIndent相比于Marhsal()的区别就在于读结果做了Indent 的处理: Indent 的代码有点长,简单说就是对Json 多了一些格式处理:



Json Marshal:将数据编码成json字符串


	m:= map[string]string{"one":"你好","two":"我是","three":"汪汪队"}
	
	//map转json Marshal
	v1,err1 :=json.Marshal(m)
	if err!=nil{
		fmt.Println(err1)			//错误信息
	}else{
		fmt.Println(string(v1))
	}
	输出结果为:{"one":"你好","three":"汪汪队","two":"我是"}





Json MarshalIndent:将数据编码成json字符串


	m:= map[string]string{"one":"你好","two":"我是","three":"汪汪队"}

	//map转json MarshalIndent

	v,err :=json.MarshalIndent(m,"","\t")
	if err!=nil{
		fmt.Println(err)			//错误信息
	}else{
		fmt.Println(string(v))
	}
	
	输出结果为:{
				"one": "你好",
				"three": "汪汪队",
				"two": "我是"
			   }




Json Unmarshal:将json字符串解码到相应的数据结构


	m:= map[string]string{"one":"你好","two":"我是","three":"汪汪队"}
	var w= map[string]string{}
	
	err2:=json.Unmarshal(v1,&w)
	if err2!=nil{
		fmt.Println(err2)
	}else{
		fmt.Println(w)
	}
	
	输出结果为:map[one:你好 three:汪汪队 two:我是]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值