草庐IT

json-string

全部标签

go - 如何在 Go 语言中读取 config.json?

我在filLib.go中使用了如下代码:funcLoadConfiguration(filenamestring)(Configuration,error){bytes,err:=ioutil.ReadFile(filename)iferr!=nil{returnConfiguration{},err}varcConfigurationerr=json.Unmarshal(bytes,&c)iferr!=nil{returnConfiguration{},err}returnc,nil}但是ioutil.ReadFile(filename)返回*os.PathError。文件confi

string - 如何从字符串中删除尾随 "\r\n"

我尝试使用以下代码,但得到的结果是相同的字符串:packagemainimport("fmt""strings")funcmain(){vars="\b\x02\b\x02\r\n"a:=fmt.Sprintf("%q",s)fmt.Println("a:",a)b:=strings.TrimRight(a,"\r\n")fmt.Println("b:",b)} 最佳答案 strings.TrimRight()工作得很好。在您的案例中,“问题”是存储在a变量中的string值不以结尾“\r\n".这是因为您使用fmt.Sprintf

go - 对这个 map[string]struct 的定义方式感到困惑

我理解go中的map,但这段代码让我感到困惑:testCases:=map[string]struct{pod*api.Podrequired[]corev1.ResourceNameerrstring}{"initcontainerresourcemissing":{pod:&api.Pod{Spec:api.PodSpec{InitContainers:[]api.Container{{Resources:api.ResourceRequirements{Requests:api.ResourceList{api.ResourceCPU:resource.MustParse("1m

json - 反序列化返回不正确值的 JSON 数字

我想用go语言反序列化json字符串。不同键的值类型是不同的。例如,在string{\"category\":\"6\",\"cid\":2511993760745787586}中,category类型为string,cid类型为int64。我的代码如下:funcmain(){oriInfo:=make([]interface{},0)pickled:="[{\"category\":\"6\",\"cid\":2511993760745787586},{\"category\":\"5\",\"cid\":2504429915944783937}]"err:=json.Unmarsh

Go 中的 php json_encode

在php中我有这个:它的结果是:[1,2,3,4]在Go中,当我使用json.Marshal()或jsonEncoder编码方法时,结果是:[1234]这不等同于json_encode()在php中的结果,我无法在php中对其进行解码。在go中有没有达到[1,2,3,4]编码的结果?(每个项目之间有“,”分隔符) 最佳答案 当您使用json.Marshal时,结果将是[1234]但如果您想将结果用作字符串并将其发送到另一个地方(如redis),或者作为有效的json在屏幕上打印,您应该显式地转换你的结果。以下是错误和正确的代码:pa

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和端口值感

json - 如何获取从ajax发送的JSON数据并解析为变量

我使用jquery为golangwebrestful服务发送ajaxjson数据。并想使用golang解析我后端的json数据。这是简单的JavaScript代码:$.ajax({url:"http://localhost:8080/persons",type:"POST",dataType:"json",data:{"data":'{"firstName":"Hello","lastName":"World"}'},success:function(res){console.log(res)},error:function(err){console.log(err)}})然后使用Ge

string - GoLang 将字符串放入 map

因此,我正在尝试向从toml创建的现有map添加一个字符串。http://hastebin.com/vayolavose当我尝试构建时出现错误:./web.go:56:复制的参数有不同的元素类型:[]proxy.Address和string我将如何转换它?过去大约4个小时我一直在尝试这个。谢谢 最佳答案 而下面的代码就是你的源代码funchandleAddFunc(whttp.ResponseWriter,r*http.Request){backend:=r.FormValue("backend")key:=r.FormValue(

swift - 将 json 编码时间转换为 nsdate

当我将time.Now()编码到JSON对象时,它给出的结果为"2009-11-10T23:00:00Z"但打印时间。现在给出2009-11-1023:00:00+0000UTC。他们为什么不同。什么是T和Z。另外,如何根据this将其转换为swiftNSDate对象?表? 最佳答案 这些值的含义无关紧要,它们是该格式(ISO8601)的一部分。有几种方法可以解决这个问题。一种是为时间或您的结构定义自定义MarshalJSON()方法并使用它来格式化日期,另一种是首先在您的结构中将其表示为字符串,以便当默认实现执行你得到你正在寻找的

string - 为什么使用 Golang 设置的文件权限与预期不同?

funcstringToInt(sstring)int{i,err:=strconv.Atoi(s)check(err)returni}os.FileMode(stringToInt("0777"))当不需要转换为int时(不删除前导零)通过直接设置权限:os.FileMode(0777)文件权限正确当前结果777777-r----x--x753753--wxrw---x500500-rwxrw-r--预期结果777-rwxrwxrwx753-r-xr-x-wx500-r-x------ 最佳答案 根据@AdamSmith和@Jam