{ total: 100, rows: [{ goodId: '4893ed8518ff41268baf5a2f7f3e5398', reportedStaffid: '', reportedName: '', reportedPst: '', reportedOrg: '', reportedTime: '', go ..

针对从服务端获取数据时候 JSON 串的 key 没有双引号导致不能解析问题

{
	total: 100,
	rows: [{
		goodId: "4893ed8518ff41268baf5a2f7f3e5398",
		reportedStaffid: "",
		reportedName: "",
		reportedPst: "",
		reportedOrg: "",
		reportedTime: "",
		goodTitle: "",
		goodContent: "",
		reportStaffid: "",
		reportName: "",
		reportPst: "",
		reportOrg: "",
		publishRange: "",
		praiseCnt: "",
		commentCnt: "0",
	}]
}

如上串

方法 1:


js = strings.Replace(js,`{`,`{"`,-1)
	js = strings.Replace(js ,`:`,`":`,-1)
	js = strings.Replace(js,`,`,`,"`,-1)
	js = strings.Replace(js,`,"{`,`,{`,-1)
	fmt.Println(js)
	unmarshal := make(map[string]interface{})
	err := json.Unmarshal([]byte(js), &unmarshal)
	if err != nil {
		panic(err)
	}
	fmt.Println(unmarshal)

方法 2:

reg:=regexp.MustCompile(`[\w]+[:]`)
reg.ReplaceAllStringFunc(resStr,func(s string) string{
     reg2:=regexp.MustCompile(`[\w]+`)
     s=reg2.FindAllString(s,-1)[0]
     return `"`+s+`":`
})

  • 日常
    14 引用 • 91 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    319 引用 • 1158 回帖 • 731 关注
回帖   
请输入回帖内容...