首页 > 其他分享 >GO json.Unmarshal() 解析不区分json字段的大小写

GO json.Unmarshal() 解析不区分json字段的大小写

时间:2022-12-27 15:24:33浏览次数:40  
标签:ABD json 123 大小写 GO Abd Unmarshal

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数据字段名一定要大小写一致
}

标签:ABD,json,123,大小写,GO,Abd,Unmarshal
From: https://www.cnblogs.com/dibtp/p/17008129.html

相关文章

  • Golang中interface的使用建议
    https://medium.com/@mbinjamil/using-interfaces-in-go-the-right-way-99384bc69d39分享的是一个关于Golang中interface的正确使用方法。讲道理在medium上找一篇对我有......
  • 基于go语言的声明式流式ETL,高性能和弹性流处理器
    简要介绍Benthos,并给出若干示例,指导如何安装和运行。BenthosBenthos是一个开源的、高性能和弹性的数据流处理器,能够以各种代理模式连接各种源和汇,可以帮助用户在不同......
  • Golang开发项目目录简介以及目录结构设置规范
    一、Golang项目简单介绍Golang简单的目录结构如下:其中,bin用来存放经过gobulid后的可执行文件,pkg存放编译后的gomodule,而src就存放我们项目的代码 二、三种常用目录结......
  • Golang 环境变量和项目结构
    1.Golang环境变量和项目结构常用exportGO_HOME=/opt/modules/goexportGOPATH=/home/user/go$GO_HOME/bin:$GOPATH/bin12341.1.为什么我使用gobuild命令没有没有......
  • Golang一角:环境变量(Go开发必需的环境变量、普通环境变量)
    “环境变量”这个词,有经验的开发同学对它一定很熟悉了,它提供给软件工程以高灵活性、高扩展性,大到操作系统,小到某个项目,都有它的影子,它的表现方式有很多。微服务应用提倡将......
  • Golang 项目使用 Gitlab CI/CD 自动化持续集成
    GitlabCI/CD自动化持续集成该功能主要是代码提交到gitlab后,gitlab能按照指定的脚本,去运行诸如测试、构建、发布自动化,避免手工操作本文将演示以下集成项目: 测试(T......
  • golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?
    golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行? 上面的环境,都需要搭建。测试demo见git地址主要是test1/.drone.yml的编写。from_secret:kube_toke......
  • Go笔记
    数组数组,是用来存储集合数据的,这种场景非常多,我们编码的过程中,都少不了要读取或者存储数据。当然除了数组之外,我们还有切片、Map映射等数据结构可以帮我们存储数据,但是数......
  • Golang项目在idea中运行遇到的坑
    因为是第一次搞go的项目,也没有学过go这个语言,凭借着强大的运气开始修改开源项目wayne的源码。运行过程中,遇到了好多问题。第一个问题就是后端的go项目没法启动。1.数据......
  • GORM笔记
    参考文档:GORM指南|GORM-ThefantasticORMlibraryforGolang,aimstobedeveloperfriendly.GORM入门指南|李文周的博客(liwenzhou.com)GORMCRUD指南|李......