Json没有验证

时间:2014-05-06 11:45:20

标签: java json

所以我正在测试我的json验证器并在我的属性文件中使用json,如:

jsonSource = {"kind": "Listing\""}

我通过弹簧@Value("${jsonSource}")得到它:

   try {

            gson.fromJson(jsonSource, Object.class);
            return true;

        } catch(com.google.gson.JsonSyntaxException ex) { 
            return false;
        }

   try {
            new JsonParser().parse(jsonSource);
            return true;
        } catch (JsonParseException e) {
            return false;
        }

它没有验证。

我在该字符串上尝试jsonSource.replaceAll("\\", "\\\\");但没有用。 我从http://www.reddit.com/r/IAmA.json(self_text)部分

获取了我的转义json

我想我在这里遗漏了一些非常基本的东西,比如用字符串引发的内容或者应该如何使用json。

1 个答案:

答案 0 :(得分:3)

我正在解释这个:

  

所以我正在测试我的json验证器并在我的属性文件中使用json,如:

jsonSource = {"kind": "Listing\""}

意思是你有一个直接的Java属性文件,你以正常的方式加载它。在这种情况下,您的字符串就像您编写的Java源代码一样:

String value = "{\"kind\": \"Listing\"\"}";

换句话说,字符串本身将包含:

{"kind": "Listing""}

属性文件中的反斜杠用作转义字符 - 如果您希望它位于实际字符串中,则需要将其加倍:

jsonSource = {"kind": "Listing\\""}