为了账号安全,请及时绑定邮箱和手机立即绑定

从(json)字符串中删除无效字符

从(json)字符串中删除无效字符

Go
慕尼黑8549860 2021-11-29 16:14:09
我正在 go 程序中执行一个命令,该命令为我提供了一些带有结构的输出  c := exec.Command("mycommand")  stdout, _ := c.Output()输出{ 'name': 'mike', 'phone': '12345'},{ 'name': 'jim', 'phone': '1234'}, //notice the final comma为了使 json 有效,我尝试先[添加然后附加],最后删除最后一个逗号。k := "["mystring := string(stdout)k += mystringk += "]"str := strings.Replace(k, "},]", "}]", -1)w.Header().Set("Content-Type", "application/json; charset=utf-8")fmt.Fprintf(w, str)当我将最终产品放入 json 验证器时,出现此错误Error: Parse error on line 1:[{  ---^Expecting 'STRING', '}', got 'undefined'问题:有没有办法在字符串上执行 json.Compact 或类似的操作,或者在这种情况下如何制作有效的 json?更新这是我的编码魔法产生的输出。我不确定它到底是哪一部分invalid[{  'name': 'Leroy',  'phone': '12345'},{  'name': 'Jimmy',  'phone': '23456'}]
查看完整描述

1 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

正如 JimB 在评论中指出的,单引号不是有效的 json。所以如果你运行另一个字符串替换k = strings.Replace(k, `'`, `"`, -1)来产生这个;


[{

    "name": "Leroy",

    "phone": "12345"

}, {

    "name": "Jimmy",

    "phone": "23456"

}]

然后它应该像你期望的那样工作。


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信