GO json.Unmarshal() 解析不区分json字段的大小写
GO json.Unmarshal() 解析不区分json字段的大小写
demo
package main
import (
"encoding/json"
"fmt"
)
type Demo struct {
ABD string `json:"ABD"`
}
type Demo2 struct {
ABD string `json:"ABD"`
Abd string `json:"Abd"`
}
func main() {
var demo Demo
str := `{"abd": "123", "AbD":"qwe"}`
//str2 := `{"ABD": "123", "Abd":"qwe"}`
//str2 := `{"abd": "123", "Abd":"qwe"}`
//str2 := `{"Abd": "123", "ABD":"qwe"}`
err := json.Unmarshal([]byte(str), &demo)
if err != nil {
fmt.Println("json.Unmarshal err=", err)
}
fmt.Printf("%#+v", demo) // main.Demo{ABD:"123"}
// 可以试试 Demo2 和 str2 的各种组合
// 总结就是不要使用同名字段(忽视大小写后同名的字段)!!!
// 特殊情况要用就必须保证 1.结构体要有tag 2.tag与json数据字段名一定要大小写一致
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律