gpt4 book ai didi

java - 正则表达式替换 json 字符串

转载 作者:行者123 更新时间:2023-12-01 17:53:59 25 4
gpt4 key购买 nike

是否有一个正则表达式可以用来查找 JSON 字符串中的所有数字并将它们替换在双引号内?

例如,在下面的 JSON 字符串中,我想用双引号替换 Id 和 Phone 值。

String jsonString = " [ 
{
"FirstName": "abc",
"Email" : "a@a.com",
"Id" : 1,
"Phone" : 1234567890,
"Date": "2 May 2016 23:59:59"

},
{
"FirstName": "xyz",
"Email" : "b@b.com",
"Id" : 2,
"Phone" : 9876543210,
"Date": "3 May 2016 23:59:59"

}
] ";

我想得到以下输出:

[ 
{
"FirstName":"abc",
"Email" : "a@a.com",
"Id" : "1",
"Phone" : "1234567890",
"Date": "2 May 2016 23:59:59"

},
{
"FirstName":"xyz",
"Email" : "b@b.com",
"Id" : "2",
"Phone" : "9876543210",
"Date": "3 May 2016 23:59:59"

}
]

我尝试了下面的行,但它不起作用。有什么想法吗?

 jsonString = jsonString.replaceAll("=[ ]*([\\d]+)", "= \"$1\""); 

最佳答案

你做错了很多事情。

  • 您的正则表达式搜索以 = 开头的匹配项,而不是 :
  • 要捕获白色(空格),请使用 \s

这是正确的正则表达式:https://regex101.com/r/sRDXMP/2/

这是您的固定代码: jsonString = jsonString.replaceAll(":\\s([\\d]+)", ":\"$1\"");

关于java - 正则表达式替换 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46932557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com