草庐IT

Unmarshalling

全部标签

json - 从 JSON 中提取元素

我有一个返回JSON的函数,返回类型是这样的:map[string]interface{}在我的特殊情况下,我知道返回的JSON如下所示:{"someNumber":1,"someString":"ee","someArray":["stringInArray",{"anotherNumber":100,"anotherString":"asdf","yetAnotherString":"qwer"}]}我想获取“stringInArray”和“anotherString”的值。例如,我从GobyExample中搜索了解决方案和blog.golang.org但我没有成功。例如,假设re

json - 从 JSON 中提取元素

我有一个返回JSON的函数,返回类型是这样的:map[string]interface{}在我的特殊情况下,我知道返回的JSON如下所示:{"someNumber":1,"someString":"ee","someArray":["stringInArray",{"anotherNumber":100,"anotherString":"asdf","yetAnotherString":"qwer"}]}我想获取“stringInArray”和“anotherString”的值。例如,我从GobyExample中搜索了解决方案和blog.golang.org但我没有成功。例如,假设re

json - 解码 JSON 时指向接口(interface)的指针与持有指针的接口(interface)

考虑以下结构和接口(interface)定义。typeFoointerface{Operate()}typeBarstruct{Aint}func(bBar)Operate(){//...}现在,如果我们尝试执行以下(playground):varxFoo=Bar{}err:=json.Unmarshal([]byte("{\"a\":5}"),&x)fmt.Printf("x:%+v\nerr:%s\n",x,err)我们得到以下输出:x:{A:0}err:json:cannotunmarshalobjectintoGovalueoftypemain.Foo但是,通过将基础数据替换为

json - 解码 JSON 时指向接口(interface)的指针与持有指针的接口(interface)

考虑以下结构和接口(interface)定义。typeFoointerface{Operate()}typeBarstruct{Aint}func(bBar)Operate(){//...}现在,如果我们尝试执行以下(playground):varxFoo=Bar{}err:=json.Unmarshal([]byte("{\"a\":5}"),&x)fmt.Printf("x:%+v\nerr:%s\n",x,err)我们得到以下输出:x:{A:0}err:json:cannotunmarshalobjectintoGovalueoftypemain.Foo但是,通过将基础数据替换为

go - 无法解码值中包含空格的负载

我正在使用Golang读取XML响应。我无法正确读取带空格的值。这是一个要点:https://gist.github.com/anonymous/5825288有没有办法让xml.Unmarshal修剪中的值?然后把它当作一个整数?即1//nospaces,ismarshalledcorrectly.Theresultingvalueinthestructis1但是1//withspaces,ismarshalledincorrectlyasanint.Theresultingvalueinthestructforresultis0. 最佳答案

go - 无法解码值中包含空格的负载

我正在使用Golang读取XML响应。我无法正确读取带空格的值。这是一个要点:https://gist.github.com/anonymous/5825288有没有办法让xml.Unmarshal修剪中的值?然后把它当作一个整数?即1//nospaces,ismarshalledcorrectly.Theresultingvalueinthestructis1但是1//withspaces,ismarshalledincorrectlyasanint.Theresultingvalueinthestructforresultis0. 最佳答案

json - 为什么在解码 JSON 时字符串和 []bytes 的处理方式不同?

通过阅读文档,我的理解是string本质上是一个不可变的[]byte并且可以在两者之间轻松转换。然而,当从JSON解码时,这似乎不是真的。以下面的示例程序为例:packagemainimport("encoding/json""fmt")typeSTHRawstruct{Hash[]byte`json:"hash"`}typeSTHStringstruct{Hashstring`json:"hash"`}funcmain(){bytes:=[]byte(`{"hash":"nuyHN9wx4lZL2L3Ir3dhZpmggTQEIHEZcC3DUNCtQsk="}`)stringHea

json - 为什么在解码 JSON 时字符串和 []bytes 的处理方式不同?

通过阅读文档,我的理解是string本质上是一个不可变的[]byte并且可以在两者之间轻松转换。然而,当从JSON解码时,这似乎不是真的。以下面的示例程序为例:packagemainimport("encoding/json""fmt")typeSTHRawstruct{Hash[]byte`json:"hash"`}typeSTHStringstruct{Hashstring`json:"hash"`}funcmain(){bytes:=[]byte(`{"hash":"nuyHN9wx4lZL2L3Ir3dhZpmggTQEIHEZcC3DUNCtQsk="}`)stringHea

arrays - 将带有嵌套数组和对象的 JSON 数据解码为 Go 结构

我正在使用从YoutubeAPI接收的数据将Youtubejson响应解码到Go结构中,如下所示:-{"kind":"youtube#searchListResponse","etag":"\"5g01s4-wS2b4VpScndqCYc5Y-8k/5xHRkUxevhiDF1huCnKw2ybduyo\"","nextPageToken":"CBQQAA","regionCode":"TH","pageInfo":{"totalResults":36,"resultsPerPage":20},"items":[{"kind":"youtube#searchResult","etag"

arrays - 将带有嵌套数组和对象的 JSON 数据解码为 Go 结构

我正在使用从YoutubeAPI接收的数据将Youtubejson响应解码到Go结构中,如下所示:-{"kind":"youtube#searchListResponse","etag":"\"5g01s4-wS2b4VpScndqCYc5Y-8k/5xHRkUxevhiDF1huCnKw2ybduyo\"","nextPageToken":"CBQQAA","regionCode":"TH","pageInfo":{"totalResults":36,"resultsPerPage":20},"items":[{"kind":"youtube#searchResult","etag"