草庐IT

音频编解码

全部标签

pointers - 为什么解码到指针变量是不可能的?

我在包级别使用指针变量:varconfig*configuration但尝试解码到变量中会导致此错误:json:Unmarshal(nil*main.configuration)。但是,解码为指向指针变量的指针是成功的。这是什么原因? 最佳答案 Whyisunmarshalingintoapointervariablenotpossible?这是可能的。事实上,这是必需的。解码为非指针是不可能的。json:Unmarshal(nil*main.configuration)这个错误并不是说你不能解码到一个指针,而是说你不能解码到一个n

json - 尝试在 golang 1.12 中解码 json 字节数组

这个问题在这里已经有了答案:json.Unmarshalreturningblankstructure(1个回答)2年前关闭。我得到一个json字节数组,只是试图将它解码到一个结构中以备后用。typeEventstruct{categorystring`json:"category"`servicestring`json:"service"`timestampstring`json:"timestamp"`valuestring`json:"value"`}ba:=[]byte(`{"category":"category1","service":"service1","timesta

使用 Go 进行 JSON 解码失败

我在解码http响应的主体时遇到了一些问题。我使用Insomnia得到的响应如下所示:[{"name":"monitoring","instances":[{"host":"ite00716.local","id":"2058b934-720f-47c5-a1da-3d1535423b83","port":8080}]},{"name":"app1","instances":[{"host":"172.20.10.2","id":"bc9a5859-8dda-418a-a323-11f67fbe1a71","port":8081}]}]当我使用下面的go代码时,我解码的结构是空的。我不

go - 我怎样才能正确地将 json 解码到定义的结构中

当我尝试此操作时,出现错误“无法将对象解码为[]main.parsed类型的Go值”packagemainimport{...}typeparsedstruct{Titlestring`json:"title,string,omitempty"`}funcFunction(args[]String)string{varjsonData[]parsedbody,err:=ioutil.ReadAll(resp.Body)iferr!=nil{return""}err=json.Unmarshal([]byte(body),&jsonData)iferr!=nil{return""}fmt

json - 有没有一种方法可以通过转换类型在 Go 中解码 JSON?

我正在使用一个API,如果它为零,它可以返回一个值,如果它不为零,则返回一个字符串,我想要一个解码器,它将这两个JSON正确解码为结构{"id":1,"rating":0}{"id":2,"rating":"2"}typeUserstruct{Idint64`json:"id"`Ratingint64`json:"rating,string"`}因此它应该尝试将任何JSON类型(int、float、string)转换为struct中指定的类型,并仅在不可能时引发错误。标准json.Decoder不会那样做。或者也许有一些更可定制的json解析库? 最佳答案

javascript - JSON 解码数组不起作用,但相同的数据适用于 javascript

我尝试将一些数组值放入我发送到浏览器的JSON字符串中,并且在浏览器中动态添加一些输入字段时工作正常,但是当我尝试在Go上检查来自这些新字段的数据时,我尝试解码相同的数据但不工作,因为值是空的。这是代码:packagemainimport"fmt"import"encoding/json"typePublicKeystruct{Namestring`json:"name"`Typestring`json:"type"`Descriptionstring`json:"description"`Values[]string`json:"values"`}funcmain(){keysBod

json - 将 "{}"主体解码为结构时,Golang 不会产生错误

在restapi中,当body设置为“{}”时,jsonDecoder不会产生错误。这使得有必要检查目标结构是否仍为nil。我需要检查库是否应该像这样工作,或者这是否是它的问题。//ClientSidethisrequestreq,err:=http.NewRequest("POST","url",strings.NewReader("{}"))//Curlequivalent:curl-XPOST-d'{}'http://api:8080/r/primitives/multiply//ServersidetypeOperandsstruct{Values[]float64`json:

go - 尝试将数据解码到 golang 中的界面

尝试将数据解码到接口(interface)中。它工作正常。但是如果我访问res.page或res.Page不工作我收到以下错误:res.Pageundefined(typeinterface{}isinterfacewithnomethods)下面是我的代码:packagemainimport("encoding/json""fmt")funcmain(){varresinterface{}str:=`{"page":1,"fruits":["apple","peach"]}`json.Unmarshal([]byte(str),&res)fmt.Println(res.Page)}提

json - GoLang JSON解码

请在标记之前阅读问题。{"out_key":{"some_uri":"url","more_than_one_key_here":{"Ip":"127.0.0.1","port":"80",}}}out_key是动态创建的。没有猜测它的名字。同样,more_than_one_key_here也是动态创建的。some_uri将在out_key下保持不变。在这种情况下,如何创建用于解码JSON的结构? 最佳答案 在Go中,结构的字段名称必须在编译时已知。因此,在您的情况下,结构类型不合适。或者,您可以使用map。假设您只对IP和端口值感

jsonpb,为什么把int64解码成json,结果是string。像 int64 str=10 -->str :"10"

//code:630//jsonpb,whyint64->jsonisstring.like10-->"10"//https://github.com/golang/protobuf/blob/master/jsonpb/jsonpb.go//Defaulthandlingdeferstotheencoding/jsonlibrary.b,err:=json.Marshal(v.Interface())iferr!=nil{returnerr}needToQuote:=string(b[0])!=`"`&&(v.Kind()==reflect.Int64||v.Kind()==refl