[程序员] 这个正则要怎么写呢?一个不标准的 json 字符串,想要手动给他修改正确

已经完成了键的修改,没把加””的都加上了,
但值要如何正则给加上””呢?

func TestMakeToJsonStr(t *testing.T) { str := `{label :用户 id,searchType:1,hide:1,disabled:1,required:1,options:1:yes:tag-info,2:no:tag-danger}` // 替换所有空格 // 处理 key 未加""的内容字段 replace, _ := gregex.Replace(`\s`, []byte(""), []byte(str)) replace, _ = gregex.Replace(`label|"label"`, []byte(`"label"`), replace) replace, _ = gregex.Replace(`fieldType|"fieldType"`, []byte(`"fieldType"`), replace) replace, _ = gregex.Replace(`searchType|"searchType"`, []byte(`"searchType"`), replace) replace, _ = gregex.Replace(`editHide|"editHide"`, []byte(`"editHide"`), replace) replace, _ = gregex.Replace(`addHide|"addHide"`, []byte(`"addHide"`), replace) replace, _ = gregex.Replace(`hide|"hide"`, []byte(`"hide"`), replace) replace, _ = gregex.Replace(`disabled|"disabled"`, []byte(`"disabled"`), replace) replace, _ = gregex.Replace(`required|"required"`, []byte(`"required"`), replace) replace, _ = gregex.Replace(`comment|"comment"`, []byte(`"comment"`), replace) replace, _ = gregex.Replace(`options|"options"`, []byte(`"options"`), replace) // 处理值未加个""的字段 fmt.Println(string(replace))
}

现在的执行结果

{"label":用户 id,"searchType":1,"hide":1,"disabled":1,"required":1,"options":1:yes:tag-info,2:no:tag-danger}

注明 键就是那几个是固定的

发表评论

您的电子邮箱地址不会被公开。