草庐IT

json-string

全部标签

json - 将带有 Json 数据的字符串传递给 Golang 中的 Map

这个问题在这里已经有了答案:GolangparseJSONarrayintodatastructure(3个答案)关闭5年前。目前我已将json对象作为字符串存储在我的数据库中。我想将它们传递给map,以便能够查询任何字段:Mymap["Name"]Mymap["Age"]..假设我的字符串是这样的:'{"Name":["zero"],"Age":"10"}'我不知道数据的结构,所以Json可以有很多字段,也可以嵌套很多层(但我更担心至少得到第一层)

regex - Go : strings or regexp 中短字符串前缀匹配的更好方法

我知道我得到的字符串会很短(我无法决定是使用strings.Contains,例如strings.Contains("123-ab-foo","123-ab"),还是正则表达式。我显然想要最快的方法。用例示例:ifstrings.Contains(current_string,MY_CONST){//dosmth} 最佳答案 如果您确定要查找的字符串(MY_CONST)将位于current_string的开头,那么最有效的方法将是HasPrefixfuncHasPrefix(s,prefixstring)boolHasPrefixt

arrays - 使用解码到通用接口(interface)时如何验证 JSON?

我想验证字节数组数据是否包含有效的JSON,使用unmarsall方法进入接口(interface)。packagemainimport("encoding/json""fmt")funcisJSON(sstring)bool{varjsmap[string]interface{}returnjson.Unmarshal([]byte(s),&js)==nil}funcmain(){vartests=[]string{`{"a":"b"}`,`[{"a":"b"},{"a":"b"}]`,}for_,t:=rangetests{fmt.Printf("isJSON(%s)=%v\n\n

json - 无法在golang程序中解析json值

下面是我在Go中的示例代码。我想解析B的值并检查键'status'的值packagemainimport("encoding/json""fmt")typeValidateUserstruct{UserName,status,sessionID,timestampstring}funcmain(){//ThisJSONcontainsanintarray.B:="{\"UserName\":\"Moulali\",\"status\":\"valid_user\"}"fmt.Println("outsideif")fmt.Println("ValueOfB=%v",B)bytes:=[

string - Golang 不转义字符串变量

我们可以使用“`”来不转义一个字符串:packagemainimport"fmt"funcmain(){fmt.Println(`abc\tdef`)//abc\tdef}但是如何获取或打印非转义字符串变量呢?packagemainimport"fmt"funcmain(){s:="abc\tdef"fmt.Println(s)//abcdef} 最佳答案 使用%#v和Sprintf:packagemainimport"fmt"funcmain(){s:="abc\tdef"s=fmt.Sprintf("%#v",s)fmt.Pri

json - 编码后删除转义字符

在上面的代码中,我试图通过Marshal将我的key转换为字节数组。虽然我成功了,但是当我看到编码字符串时,我在我的json键之前看到了\转义字符。你能帮我删除它吗?funcGetBytes(keyinterface{})([]byte,error){b,err:=json.Marshal(key)iferr!=nil{returnnil,err}log.Println("%%%%%%%%%%")log.Printf("%+v\n",key)log.Println("##########")log.Println(string(b));returnb,nil}当前输出:%%%%%%%%

json - 如何在 Go 中导航具有未知结构的嵌套 json?

我正在尝试从GoLang中的深层嵌套json数据中解析和获取选定数据。我在浏览结构和访问数据时遇到问题。数据太深太复杂,无法使用Go中的先验已知结构进行解析。这是文件的URL:-https://www.data.gouv.fr/api/1/datasets/?format=csv&page=0&page_size=20我用map接口(interface)做了一些解析并使用了一个json字符串:resultdata:=map[string]interface{}json.Unmarshal([]byte(inputbytestring),&resultdata)//Inputstring

go - 为什么调用此 String() 方法而不按名称调用它

考虑以下代码。第一个函数是MessageStr类型的接收器方法。为什么fmt.Println(msgstr)执行第一个方法而不调用fmt.Println(msgstr.String())方法。还有为什么fmt.Println(msgint32)不执行第二种方法。packagemainimport("fmt")typeMessageStrstringtypeMessageInt32int32func(msgsMessageStr)String()string{returnstring(">")}func(msgiMessageInt32)Int32()int32{returnint32(

go - json.Marshal 设置为空

我是Go的新手。我正在尝试从我的一个网站上抓取数据,以便能够在Go应用程序中使用它。我使用goroutines和sync.WaitGroup来等待结果,但我遇到了问题。如果我使用goroutines并尝试将json.Marshal用于我的数据集,我在结构中有空数组,它填充在goroutines中。如果我在没有例行程序的情况下填充我的结构,我就会一切正常。这是我的结构:typeCategoryScrapperstruct{Namestring`json:"name"`Linkstring`json:"link"`Products[]Product.ProductData`json:"pr

json - 嵌套映射返回 json array[]

如何创建嵌套的JSON数组?还有其他简单的方法吗?我试过这个:varm1=make(map[string]interface{})m1=append(tickets,ptotal)//errorisherei.Data["json"]=m1i.ServeJSON()但它显示此错误:cannotuseappend(tickets,ptotal)(type[]interface{})astypemap[string]interface{}inassignment我可以这样做,但它根本没有嵌套://some:=append(tickets,map[string]int64{"totalpag