如何在json字符串中处理'\'

时间:2013-07-18 15:17:02

标签: json escaping character

在我的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 \\”

1 个答案:

答案 0 :(得分:0)

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