所以我正在测试我的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。
答案 0 :(得分:3)
我正在解释这个:
所以我正在测试我的json验证器并在我的属性文件中使用json,如:
jsonSource = {"kind": "Listing\""}
意思是你有一个直接的Java属性文件,你以正常的方式加载它。在这种情况下,您的字符串就像您编写的Java源代码一样:
String value = "{\"kind\": \"Listing\"\"}";
换句话说,字符串本身将包含:
{"kind": "Listing""}
属性文件中的反斜杠用作转义字符 - 如果您希望它位于实际字符串中,则需要将其加倍:
jsonSource = {"kind": "Listing\\""}