2016-12-16 34 views
-2

如何替换json字符串和正则表达式中的双引号?如何替换json字符串和正则表达式中的双引号?

输入JSON是:

"RegDateTime" : 1481641851263, "Code":"123213",.... 

和输出应该是:

"RegDateTime" : "1481641851263", "Code":"123213",.... 

我想修复只JSON键值是RegDateTime。
请建议任何正则表达式,并用go语言中的双引号替换。

+0

这是错误的方式去思考它。这是一个_数字。您将数字转换为字符串......不仅仅是“替换引号”。 –

+0

只是转换为字符串。 –

+0

@JeffMercado其他的方法。他希望将数字输入转换为字符串表示形式。 –

回答

0
func ReplaceAllNumber(json string)(string) { 
    re := regexp.MustCompile("(:\\s*)(\\d+)(\\s*[,}\\]])") 
    return re.ReplaceAllString(json, "$1\"$2\"$3") 
} 


func ReplaceNumberWithField(json string, fieldName string)(string) { 
    regString := fmt.Sprintf("(\"%s\"\\s*:\\s*)(\\d+)(\\s*[,}\\]])", fieldName) 

    re := regexp.MustCompile(regString) 
    return re.ReplaceAllString(json, "$1\"$2\"$3") 
} 

Run Online

+0

谢谢chaoluo ...这种方法怎么样? ? \t re,_:= regexp.Compile(“(RegDateTime \”):([0-9] +)“)result:= re.ReplaceAllString(json,”$ 1:\“$ 2 \”“) –

+0

您需要只需要替换一个特殊字段? – chaoluo

+0

...我的方法是替换所有号码字段,所以你可以换成特殊字段,那很简单 – chaoluo