go之json基本使用

本文介绍了Go语言中处理JSON的基本用法,包括JSON的简介、使用标准库进行JSON的合法性校验、编码与解码、格式化输出以及如何读取JSON文件。文中通过示例代码展示了如何使用`json.Valid`, `json.Marshal`, `json.Unmarshal`, `json.Indent`和`json.MarshalIndent`等方法,并讨论了Go语言中编码解码时需要注意的特殊类型和规则。" 89332663,7481841,OctConv:卷积神经网络的高效优化技术,"['卷积神经网络', '深度学习', '计算机视觉', '模型优化', '图像识别']
摘要由CSDN通过智能技术生成

go之json基本使用

json简介

JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读。

在go语言中编码解码注意事项

  • Go语言中一些特殊的类型,比如Channel、complex、function是不能被解析成JSON的;
  • JSON对象只支持string作为key,所以要编码一个map,那么必须是map[string]T这种类型(T是Go语言中任意的类型);
  • 嵌套的数据是不能编码的,不然会让JSON编码进入死循环;
  • 指针在编码的时候会输出指针指向的内容,而空指针会输出null。

标准库

Valid-校验json是否合法

例子:

package main

import (
	"encoding/json"
	"fmt"
)


func main() {
	jsonStr1 := `{"product_name":"","product_id":"1","number":71,"price":"45.23","is_on_sale":"true"}`
	fmt.Print("jsonStr1是否合法:", json.Valid([]byte(jsonStr1)), "\n")
	jsonStr2 := `{"product_name","product_id":"1","number":71,"price":"45.23","is_on_sale":"true"}`
	fmt.Print("jsonStr2是否合法:", json.Valid([]byte(jsonStr2)), "\n")
}

结果:

jsonStr1是否合法:true
jsonStr2是否合法:false

Marshal-json编码

例子:

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string `json:"name"'`
	Age  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值