我正在使用包含json字符串的文件来创建请求验证。在我的一个测试中,其中一个JSON片段如下所示:
{
"name": "pattern",
"attributes": [
{
"name": "pattern",
"value": "^[\d]{2}$"
}
]
}
但是,当您尝试在此字符串上使用json_decode()时,会出现json语法错误。它与正则表达式的内容有关。为什么并且有办法解决这个问题?
答案 0 :(得分:4)
反斜杠需要转义:
"value": "^[\\d]{2}$"
JSON允许在字符串中使用以下标记:
- any-Unicode-character-except -
"
- 或 -\
- 或 - control-character\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits
\d
是不允许的。
答案 1 :(得分:1)
您需要退出\
,因为\d
不是JSON中的有效控制字符。