感谢阅读!
我正在尝试以这样的格式解析JSON提要:
(bpjc{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}})
我在解析JSON时遇到错误,在使用JSON Validator之后,我认为(bpjc
和结束)
不是有效的JSONObject
,所以需要将它们删除来自饲料。
所以,我写了一个正则表达式如下:
String regex = "\\(bpjc.*\\)";
String input = "(bpjc{abcd})";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
System.out.println(matcher.matches());
输出为true
,但如何提取{abcd}
?
我指的是Regular Expressions tutorial ,但我不知道哪种模式适用于我的情况。
编辑:添加我提到的JSON parsing tutorial。我发现它很好解释。
答案 0 :(得分:4)
您似乎收到格式不正确的JSONP结果。如果你知道字符总是会在前后存在,那就做一个子字符串:
json = json.substring(5, json.length-1)