gpt4 book ai didi

java - 使用正则表达式删除 JSON 引号

转载 作者:行者123 更新时间:2023-12-01 18:53:41 28 4
gpt4 key购买 nike

我从外部进程获得了一些我无法更改的 JSON,并且我需要修改此 JSON 字符串才能使下游 Java 进程正常工作。 JSON 字符串如下所示:

{"widgets":"blah","is_dog":"1"}

但它需要看起来像:

{"widgets":blah,"is_dog":"1"}

我必须删除 blah 周围的引号。实际上,blah 是一个巨大的 JSON 对象,因此为了解决这个问题我对其进行了简化。所以我想我可以通过执行两次 String#replace 调用来解决这个问题,一次在 blah 之前,一次在它之后:

dataString = dataString.replaceAll("{\"widgets\":\"", "{\"widgets\":");
dataString = dataString.replaceAll("\",\"is_dog\":\"1\"}", ",\"is_dog\":\"1\"}");

当我运行这个时,我收到一个模糊的运行时错误:

Illegal repetition

任何正则表达式大师都可以发现我哪里出了问题吗?提前致谢。

最佳答案

我相信你需要逃避大括号。大括号用于重复((foo){3} 连续查找 foo 3 次);因此出现错误。

注意:在这种情况下需要双重转义:\\{

关于java - 使用正则表达式删除 JSON 引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14894917/

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