我有两个JSON值,我需要同时解析JSON值A,但不会相互干扰地解析值B,并且仍然能够解析。
A
{\"\"Protestant\"\":[...]}]
解析后应该是{'"Protestant"':[...]}
和B
{\"\":[...]]
解析后应该是{"":[...]}
虽然这是我不解析时想要的,但这不是解析前我想要的。 (因为json将“视为”字符串的结尾,并给出了P的错误)
我无法用硬代码来解决此问题,因为除了新教徒以外,其他问题还显示出这个问题
我的代码
response.data.replace(`{\\"`, `{"'`).replace('\\":', `'":`);
我知道我可以通过
resonse.data.replace(`{\\"\\":`,'{RANDOMSTRING:');
并在我更改A的字符串时使用该RANDOMSTRING作为占位符,但是想知道是否有一种更灵活的方法。
这就是我回来的内容(无法解析)
A =“”新教徒“”,B =“”。
是否有通过寻找{\"\"
而不是{\"\":
来做到这一点?
答案 0 :(得分:0)
我认为可以通过在提供给someString.replace
的函数而不是新值时使用选项来实现此目的。
该函数将获得匹配的字符串作为第一个参数。因此,在您的函数中,您可以检查要替换的值是否与第二个表达式匹配,并且如果输入的值与第二个表达式匹配,则返回的输入值保持不变。
注意:如果您控制要分析的数据源,则可能需要打补丁。根据您提供的数据样本,看起来数据源会产生真正破损的JSON,例如双引号等。