草庐IT

Unmarshal

全部标签

go - 在执行 Marshal 和 Unmarshal 时,JSON 字段名称的大小写是否重要?

Marshal和Unmarshal函数是否严格区分大小写?下面的结构定义了一个工单:typeTicketInfostruct{TicketKeystring`json:"ticketKey"`Ticketextnumstring`json:"ticketextnum"`TicketDatestring`json:"ticketDate"`TicketDescstring`json:"ticketDesc"`}此json的字符串化形式将作为单个参数传递到源系统API调用的有效负载中。例如,如果源系统为第一个字段发送“TicketKey”而不是“ticketKey”,将会发生什么。json

json - 使用 Unmarshal 解析 JSON 响应

这个问题在这里已经有了答案:JSONanddealingwithunexportedfields(2个答案)PrintingEmptyJsonasaresult[duplicate](1个回答)(un)marshallingjsongolangnotworking(3个答案)json.Marshal(struct)returns"{}"(3个答案)关闭5年前。我正在尝试使用以下代码解析JSON响应:typeTokenstruct{access_tokenstring`json:access_token`token_typestring`json:token_type`expires_i

json - 去 json.Unmarshal 接口(interface)一些子句消失了

我有一句查询一组用户的语句(关键字字段存在uid)和范围限制(longfiledpresentunixtime),该句子可以在Kibana和curl中执行,但是当我使用golang客户端(https://github.com/olivere/elastic)执行查询时,在json.Unmarshal(),语句被篡改,范围请求被放弃,为什么?我的句子违反了json的规则?packagemainimport("encoding/json""fmt")varhot_cachemap[string]bytevarfollowers[]stringvarprefix="{\"constant_s

go - golang中如何判断unmarshal json interface{} type?

我想判断json类型,但是总是返回"Idon'tknowabouttypemap[string]interface{}!",如何解决。=======================================================================typegetRemoteCardInfostruct{CodeintMsgstringData[]*remoteCardInfo}typeremoteCardInfostruct{SnstringRemoteCardIpstringRemoteCardMacstring}funcGet_json_data(url

json - Golang Json Unmarshal 编码语法

这个问题在这里已经有了答案:LowercaseJSONkeynameswithJSONMarshalinGo(3个答案)关闭7年前。我会知道json.Marshal是否将大写字母作为每个名称字段的第一个字母?我需要在每个字段名称的第一个字母处只用小写字母对一些数据进行编码。只是:{"name":"thomas"}代替:{"Name":"thomas"}谢谢!

go - 为什么 unmarshal 使 golang 中的对象类型发生变化

我想编写一个mockData方法,它可以接受多种类型的参数并根据其json数据返回相应的对象。代码如下:funcMockData(jsonPathstring,vinterface{})(interface{},error){varretinterface{}data,_:=ioutil.ReadFile(jsonPath)switchv.(type){caseReq:ret=Req{}fmt.Printf("\n===beforeUnmarshal==%T===\n",ret)err=json.Unmarshal(data,&ret)iferr!=nil{...}fmt.Printf

json.Unmarshal 接口(interface)指针与稍后的类型断言

因为我经常解码http.Response.Body,我想我可以写一个函数来处理读取、关闭和解码成各种不同结构的所有麻烦。这就是为什么我引入了一个函数funcunmarhalInterface(closer*io.ReadCloser,v*interface{})error然后可以用t:=i.(T)断言返回值.根据thisanswer我已经把它包装成*interface{}类型的值了,但因为覆盖类型是interface{}而不是myStruct,json包实现选择map[string]interface{}.之后类型断言失败(当然)。有什么我遗漏的或需要这个实现“手动”的类型断言,这意味

json - 尝试将 unix 格式的字符串转换为 time.Time 时,使用 json.Unmarshal 给出 ParseError

我有一个包含以下内容的JSON文件:{..."body":"{\"timestampFrom\":\"154087600\"}"...}当我尝试执行时:iferr:=json.Unmarshal([]byte(apiGatewayEvent.Body),&config);err!=nil{glog.Errorf("ErroroccurredwhiletryingtounmarshalbodyofAPIGatewayProxyRequest.Errormessage-%v",err)returnnil,err}我收到:Erroroccurredwhiletryingtounmarshal

json - json.Unmarshal 是否要求您的结果结构与传入的 JSON 完全匹配?

我有一个要解码的JSON字符串:{"id":1720,"alertId":1,"alertName":"{stats}TestLambdaAlert","dashboardId":5,"panelId":2,"userId":0,"newState":"alerting","prevState":"ok","time":1523983581000,"text":"","regionId":0,"tags":[],"login":"","email":"","avatarUrl":"","data":{"evalMatches":[{"metric":"{prod}{stats}Lamb

戈朗 : json Unmarshal fails to unpack simple example

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6年前。Improvethisquestion我无法解决这个问题。我有一个简单的结构和另一个使用它两次的结构:typeRangestruct{Positionint`json:"position"`Lengthint`json:"length"`}typeTwoRangesstruct{FromRange`json:"from"`ToRange