草庐IT

marshaller

全部标签

json - Golang json.Marshal() 忽略 ByteArray 字段中的 omitempty

请看下面。https://play.golang.org/p/HXrqLqYIgz我的期望值是:{"Byte2":0,"Name":"bob"}但实际:{"ByteArray":[0,0,0,0],"Byte2":0,"Name":"bob"}根据文档(https://golang.org/pkg/encoding/json/)Theemptyvaluesarefalse,0,anynilpointerorinterfacevalue,andanyarray,slice,map,orstringoflengthzero.因此,json.Marshall()会忽略omitempty-ta

json - Golang json.Marshal() 忽略 ByteArray 字段中的 omitempty

请看下面。https://play.golang.org/p/HXrqLqYIgz我的期望值是:{"Byte2":0,"Name":"bob"}但实际:{"ByteArray":[0,0,0,0],"Byte2":0,"Name":"bob"}根据文档(https://golang.org/pkg/encoding/json/)Theemptyvaluesarefalse,0,anynilpointerorinterfacevalue,andanyarray,slice,map,orstringoflengthzero.因此,json.Marshall()会忽略omitempty-ta

json - 停止 json.Marshal() 从 float 中去除尾随零

我遇到了以下问题:我的golang程序将一些信息转换为JSON。例如,它会产生以下json:{"value":40,"unit":"some_string"}问题是值的“输入”是40.0,并且编码会去除尾随零。如果读取JSON的EPL能够在没有.0的情况下将40读取为float,那就没问题了因此JSON输出应该如下所示:{"value":40.0,"unit":"some_string"}是否有可能“阻止”json.Marshal()删除零?编辑:值必须是一个float 最佳答案 @icza提供了一个很好的答案,但只是为了提供另一种

json - 停止 json.Marshal() 从 float 中去除尾随零

我遇到了以下问题:我的golang程序将一些信息转换为JSON。例如,它会产生以下json:{"value":40,"unit":"some_string"}问题是值的“输入”是40.0,并且编码会去除尾随零。如果读取JSON的EPL能够在没有.0的情况下将40读取为float,那就没问题了因此JSON输出应该如下所示:{"value":40.0,"unit":"some_string"}是否有可能“阻止”json.Marshal()删除零?编辑:值必须是一个float 最佳答案 @icza提供了一个很好的答案,但只是为了提供另一种

json - Golang Json.Marshal 错误

我一直在尝试将map编码为JSON,但到目前为止我一直没有成功。Json.Marshal不是编码值,它只是编码键。https://gist.github.com/rahulpache/9174490packagemainimport("encoding/json""fmt")typenodestruct{valuestringexpiryfloat64settimefloat64}funcmain(){varx=make(map[string]node)x["hello"]=node{value:"world",expiry:1,settime:2}x["foo"]=node{valu

json - Golang Json.Marshal 错误

我一直在尝试将map编码为JSON,但到目前为止我一直没有成功。Json.Marshal不是编码值,它只是编码键。https://gist.github.com/rahulpache/9174490packagemainimport("encoding/json""fmt")typenodestruct{valuestringexpiryfloat64settimefloat64}funcmain(){varx=make(map[string]node)x["hello"]=node{value:"world",expiry:1,settime:2}x["foo"]=node{valu

go - 如何有选择地编码(marshal)结构的 JSON?

我有一个结构:typePaperstruct{PIDint`json:"pID"`PTitlestring`json:"pTitle"`PDescstring`json:"pDesc"`PPwdstring`json:"pPwd"`}大多数情况下,我会将整个结构编码为JSON。然而,偶尔,我需要结构的简短版本;即编码一些属性,我应该如何实现这个功能?typeBriefPaperstruct{PIDint`json:"-"`//notneededPTitlestring`json:"pTitle"`PDescstring`json:"pDesc"`PPwdstring`json:"-"`

go - 如何有选择地编码(marshal)结构的 JSON?

我有一个结构:typePaperstruct{PIDint`json:"pID"`PTitlestring`json:"pTitle"`PDescstring`json:"pDesc"`PPwdstring`json:"pPwd"`}大多数情况下,我会将整个结构编码为JSON。然而,偶尔,我需要结构的简短版本;即编码一些属性,我应该如何实现这个功能?typeBriefPaperstruct{PIDint`json:"-"`//notneededPTitlestring`json:"pTitle"`PDescstring`json:"pDesc"`PPwdstring`json:"-"`

json - 为嵌入式结构使用自定义 JSON Marshal() 的问题

我正在尝试定义一个自定义JSON编码(marshal)拆收器来以特定格式显示一些时间信息。理想情况下,我希望有一个结构来存储创建/修改的值,然后将它们嵌入到需要跟踪该信息的结构中。此外,我想在JSON编码(marshal)拆收器中定义自定义日期格式,以供客户端应用程序使用。我目前有两个结构typeTimestampstruct{Createdtime.TimeModifiedtime.Time}typeCompanystruct{IdstringNamestringTimestamp}我想将时间戳结构嵌入到需要在项目更新/创建时记录的对象中。那里没有什么疯狂的。当我定义时我的问题就来了

json - 为嵌入式结构使用自定义 JSON Marshal() 的问题

我正在尝试定义一个自定义JSON编码(marshal)拆收器来以特定格式显示一些时间信息。理想情况下,我希望有一个结构来存储创建/修改的值,然后将它们嵌入到需要跟踪该信息的结构中。此外,我想在JSON编码(marshal)拆收器中定义自定义日期格式,以供客户端应用程序使用。我目前有两个结构typeTimestampstruct{Createdtime.TimeModifiedtime.Time}typeCompanystruct{IdstringNamestringTimestamp}我想将时间戳结构嵌入到需要在项目更新/创建时记录的对象中。那里没有什么疯狂的。当我定义时我的问题就来了