0

我正在尝试匹配只能包含 UTF-8 的 JSON 文件值,否则会显示错误。我在 python 中编写了脚本来使用 JSON 模式验证 JSON 文件。我在 json 模式中使用了以下模式,但没有捕捉到所有情况:

"name":{
    "type":"string",
    "pattern":"^[a-zA-Z0-9!@#$&*_~:?()\\[\\]\\-` '.+,/\"{} \\u0080-\u9fff]*$"
    }

例如:

如果名称:'힙합성애자',则显示错误,但应通过验证。然后当 name: John"☮" Robert 时,它通过了验证,但它应该是失败的。

我的正则表达式应该是什么才能通过此类 UTF-8 值的验证?

4

1 回答 1

1

验证 JSON 中的字符串“仅包含 UTF-8”的想法是没有意义的。JSON 字符串是 Unicode 字符串;JSON 文档中的字符串具有编码的想法是错误的。您已经将其解码为解码 JSON 的一部分;现在它只是 Unicode,与任何编码无关。JSON 本身总是应该被编码为 UTF-8。所以据我所知,你想要的模式是.*.

于 2020-05-05T14:27:43.603 回答