首页 > 其他分享 >Golang - json omitempty的用法

Golang - json omitempty的用法

时间:2024-11-29 11:13:58浏览次数:8  
标签:stu2 stu1 string Golang json omitempty Name

omitempty的作用是在json数据结构转换时,当该字段的值为该字段类型的零值时,忽略该字段。

package main

import (
    "fmt"
    "encoding/json"
)


type Student struct {
    Name string `json:"name"`
    Age int  `json:"age"`
    Grade  string `json:"grade,omitempty"`
}

func main() {
    stu1 := Student{
        Name:"Tom",
        Age:18,
        Grade:"middle school",
    }

    stu2  := Student{
        Name:"LiLy",
        Age:19,
    }
    stuByts1,_ := json.Marshal(&stu1)
    stuByts2 ,_ := json.Marshal(&stu2)
    fmt.Println("stu1:",string(stuByts1))
    fmt.Println("stu2:",string(stuByts2))
}
打印结果如下:
stu1: {"name":"Tom","age":18,"grade":"middle school"}
stu2: {"name":"LiLy","age":19}  // grade为"",没有解析出来

标签:stu2,stu1,string,Golang,json,omitempty,Name
From: https://www.cnblogs.com/beatle-go/p/18576146

相关文章

  • beanshell 断言 jmeter脚本断言json 响应体
    importorg.json.JSONObject;importorg.json.JSONArray;Stringresponse=prev.getResponseDataAsString();try{//将响应字符串转换为JSON对象JSONObjectjsonResponse=newJSONObject(response);//获取code,message和skuList字段intcode......
  • LangChain——CSV_时间_枚举_Json_修复_重试解析器
    CSV解析器当想返回以逗号分隔开的项目列表时,可以使用输出解析器。fromlangchain.output_parsersimportCommaSeparatedListOutputParserfromlangchain.promptsimportPromptTemplatefromlangchain_openaiimportChatOpenAI#分隔列表解析器(CSV解析器)output_pars......
  • golang map的底层结构
    1.Map的主要结构map 的底层数据结构定义在Go源码的 runtime 包中,其核心结构体是 hmap。Go的 map 使用 哈希表 存储键值对,并结合了**桶(bucket)**机制来优化存储和查找。hmap 的主要字段count:存储的键值对数量。buckets:哈希桶的数组,存储键值对的实际数据。hash0:......
  • golang实现比特币内核:区块链交易“transaction“二进制数据结构解析和代码实现1
    对于比特币,最重要的组成部分是交易。如果你需要通过比特币与他人交易,你可能需要像支付购买商品或服务一样,将一些比特币发送给他人。交易有四个关键字段,它们是版本、输入、输出和锁定时间。交易的二进制内容可能因不同的版本而有所不同,我们需要解析版本号以决定如何解码交易......
  • 【Golang】 package main is not in GOROOT (....)
    “packagemainisnotinGOROOT(/usr/local/go/src/main)”是Go工具链报的一个常见错误,通常是因为代码文件的路径或设置有问题。原因分析:代码路径问题:该错误表明Go正在尝试查找代码文件packagemain,但文件路径设置不正确。Go的工具链期望代码文件位于工作目录......
  • MySQL for JSON
    SQLforJSONMySQL提供了强大的JSON支持,使开发者能够高效地存储和查询结构化数据。下面,我们通过实例来介绍MySQL的JSON基本用法,包括如何存储、查询、更新和操作JSON数据。1.创建一个带有JSON列的表我们可以将JSON数据类型用于表中的字段,例如:CREATETABLEusers......
  • 小白新手村冒险之“烤”json串
    JSON是什么?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但是JSON是独立于语言的文本格式,许多编程语言都可以使用JSON。JSON的用途数据交换:JSON是网络应用中最常用的数据交换格式,常用......
  • golang 定时器的不同任务
    应用场景电池船数据上报频次:航行中1次/30秒,不航行1次/1小时电池簇数据上报频次:工作中1次/1秒,不工作不上报   main.gopackagemainimport( "fmt" "os" "os/signal" "syscall" "ticker/util" "time")varticker1*util.DynamicTi......
  • 什么是JSON,有什么特点
    什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的子集,但独立于语言,被广泛用于服务器与Web应用之间的数据传输。JSON格式最初由DouglasCrockford在2001年提出,并迅速成为互联网上......
  • Jenkin window bat批处理脚本如何请求api,获取json对象返回值数据
    需求:在jenkins的windowsbat批处理脚本中,请求一个api返回json数据,然后获取返回值的某个指定key的value直接上脚本:cdC:\workspace\jenkinxx\workspace\job-ta-webgitcheckoutmastergitpulldir::使用curl请求APIcurl-shttp://xx.xx.xx.xx:8088/testapi/getData......