草庐IT

json_string

全部标签

json - 如何将 JSON 解码为接口(interface)数组并使用

我很难理解如何正确解码一些进入接口(interface)类型数组然后使用它的JSON数据。我试图使这个示例代码尽可能简单,以说明我遇到的问题。代码可以在Playground上找到:https://play.golang.org/p/U85J_lBJ7Zr输出如下:[map[ObjectType:chairID:1234Brand:BlueInc.]map[ID:5678Location:KitchenObjectType:table]]{}false{}false代码packagemainimport("fmt""encoding/json")typeChairstruct{Objec

go - 我如何解码 Dynamic Viper 或 JSON 键作为结构字段的一部分

当JSON不是“所需”格式时,我发现GOLANG中的编码(marshal)处理和解封处理非常困惑。例如,在一个JSON配置文件(我正在尝试将其与Viper一起使用)中,我有一个如下所示的配置文件:{"things":{"123abc":{"key1":"anything","key2":"more"},"456xyz":{"key1":"anything2","key2":"more2"},"blah":{"key1":"anything3","key2":"more3"}}}其中“事物”可能是另一个对象中的对象n层以下我有一个结构:typeThingstruct{Namestring

go - Struct Json Marshaling导致堆栈溢出

问题当我在我的代码中使用NewChild()函数并随后将“报告”结构编码为JSON时,我得到一个堆栈溢出(goroutine堆栈超过1000000000字节限制)经过研究我发现它应该做一些无限递归的事情,但我不知道为什么我的代码应该有那个。代码typeReportstruct{TestSuites[]ReportElementTestsintSuccessintFailedintRoot*ReportElementCurrentElement*ReportElement`json:"-"`}typeReportElementstruct{SuccessboolTimeboolLogSt

json - 有条件地将 JSON 解码为结构的简洁方法

我正在向JSONAPI发送请求,它要么返回错误...{"error":{"code":404,"message":"Documentnotfound.","status":"NOT_FOUND"}}或数据。{"name":"projectname","fields":{"userId":{"stringValue":"erw9384rjidfge"}},"createTime":"2018-06-28T00:52:25.638791Z","updateTime":"2018-06-28T00:52:25.638791Z"}下面是相应的结构体typeHttpErrorstruct{Cod

go - 使用 header 作为 application/json 在 Golang 中获取 POST 参数

我是golang的新手,正在尝试使用httprouter(https://github.com/julienschmidt/httprouter)通过POST方法创建RESTAPI。我使用简单的原始请求,header作为Content-Type:application/json。我已经很努力了,但没有找到获取原始查询参数的方法。req.FormValue("name")或req.Form.Get("name")工作正常,但标题为Content-Type:application/x-www-form-urlencoded有没有人试过获取原始查询参数(标题为Content-Type:app

golang中具有嵌套结构的json对象

我有以下json对象,我试图用Go将其表示为typeJsonObjectstruct并将其传回其原始json中,以便我可以将json作为api端点返回。有什么建议/例子吗?[{"time":173000,"id":"VLSuEE5m1kmIhgE7ZhHDFe","height":"","DATASTRUCTURE":{},"language":"en","size":0,"url":"http://www.gstatic.com/play.m3u8","type":"vid","definitionid":"h264","reference":"PAN-EN","content":"

string - 类型转换错误

我正在尝试按照此处的教程进行操作:https://goethereumbook.org/block-query/在他的代码中,他调用了header,然后将其硬编码到blockNumber中。header,err:=client.HeaderByNumber(context.Background(),nil)iferr!=nil{log.Fatal(err)}fmt.Println(header.Number.String())//5671744blockNumber:=big.NewInt(5671744)我试图对此进行改进并将字符串转换为int64。header,err:=clien

json - 在读取 json 数据时动态识别对象的类型

很新,很抱歉,如果这个问题听起来很明显。我想在读取json文件时使用反射来识别对象的类型。用例(请参阅下面的代码)如下:我有两个包含不同字段的结构BoyGift和GirlGift。我还有一个bool指示符IsBoy,如果礼物的接收者是男孩,则该指示符为true,否则为false。封装此行为的类型是Gift类型://GifttypetypeGiftstruct{IsBoybool`json:"isBoy"`Payload???`json:"payload"`}保存数据。我如何定义该类型以便json解码动态转换为正确的类型?本例中的“json模式”定义了Gift应该是BoyGift或Gir

string - 将字符串转换为字符串

请说。为什么代码中的字符串“\xF0\x9F\x98\x81”与参数命令行中的“\xF0\x9F\x98\x81”不一样?funcmain(){text1:="\xF0\x9F\x98\x81"text2:=os.Args[1]}长度字符串“text1”=4,“text2”=16iflen(text1)。我如何将“text2”转换为“text1”? 最佳答案 确实有一个标准包和一个函数。strconv.UnquoteUnquoteinterpretssasasingle-quoted,double-quoted,orbackquot

arrays - 使用公共(public)键 golang 合并两个 JSON 数组

这几天我尝试根据公用key合并两个jons。我输入了两个具有公共(public)字段的不同JSON,我想根据公共(public)键合并两个json的数据。两个JSON之间的一种sql连接。JSON源自此代码funcDati_plus(c*gin.Context){oracle,err:=http.Get("http://XXXX/XXX")iferr!=nil{panic(err)}deferoracle.Body.Close()mysql,err:=http.Get("http://XXXX/XXX")iferr!=nil{panic(err)}defermysql.Body.Clo