0

'\'在我的 json 消息中,应该有一个字段'\\'

在下面的例子中

  "validation": "^[^\\s][a-zA-Z\\(\\) ,.-]+[^\\s]$"

应该作为

  "validation": "^[^\s][a-zA-Z\(\) ,.-]+[^\s]$",

我不明白为什么会这样。任何人都可以帮助我。

"getTransactionDataRequirementsResponse": {
    "return": [
         {
             "errorMessage": "Cannot start or end with whitespace",
             "validation": "^[^\\s][a-zA-Z\\(\\) ,.-]+[^\\s]$",
         },
         {
            "errorMessage": "Cannot start or end with whitespace",
             "validation": "^[^\\s][a-zA-Z\\(\\) ,.-]+[^\\s]$",
         },
 }

我不可能通过json传递奇数个反斜杠。下面是一段测试代码

    String jsonString = "{\"validation\" : \" 1\\ 2\\\\ 3\\\\\\ 4\\\\\\\\\ 3\\\" }";                       
    JsonParser jsonParser = new JsonParser();
    JsonElement jsonElement = jsonParser.parse(jsonString);
JsonObject jsonObject = jsonElement.getAsJsonObject();
    System.out.println("validation=" + jsonObject.get("validation"));

输出如下validation=" 1 2\ 3\ 4\\"

4

1 回答 1

0

当您将数据编码为 JSON 格式时,所有特殊字符都是转义字符(例如 '/' => '//')。如果您想使用 JSON 数据,请使用parseJSON()方法对其进行解码。

于 2013-07-18T15:29:22.800 回答