Java 正则表达式模式中的异常

Java 正则表达式模式中的异常,java,regex,json,Java,Regex,Json,我想像这样解析JSON: {"response":[9816,{"vid":166941761,"owner_id":-460389,"title":"Хочу спиться!","description":"Вкусная группа БОРЩ - http:\/\/vk.com\/borsch<br\/><br\/>","duration":45,"link":"video-460389_166941761","image":"http:\/\/c

我想像这样解析JSON:

{"response":[9816,{"vid":166941761,"owner_id":-460389,"title":"Хочу         спиться!","description":"Вкусная группа БОРЩ - http:\/\/vk.com\/borsch<br\/><br\/>","duration":45,"link":"video-460389_166941761","image":"http:\/\/cs322230.vk.me\/u56348533\/video\/m_ddba3f2b.jpg","image_medium":"http:\/\/cs322230.vk.me\/u56348533\/video\/l_809f4d95.jpg","date":1385374022,"views":20981,"comments":135,"player":"http:\/\/www.youtube.com\/embed\/4Ik-rjxf3dw"},{"vid":166474172,"owner_id":-460389,"title":"Скороговорка от Джигурды для Борща","description":"Вкусная гру..
adn获取:

 12-03 08:49:10.964: E/AndroidRuntime(2445): java.util.regex.PatternSyntaxException:         Error in {min,max} interval near index 9:
 12-03 08:49:10.964: E/AndroidRuntime(2445): .*[0-9],{

转义最后一个
{
,即:

json = json.replaceAll(".*[0-9],\\{", "");

但是真的,真的,使用一个合适的JSON解析器!

Nikos说的:逃避
{

但是,当前方法似乎给您留下了无效的json。您正在删除
{
,但结束的
}
仍将存在,因此您需要将该
{
添加回,作为替换的一部分:

json = json.replaceAll(".*[0-9],{", "{\"response\":[{");
                                                    ^
不过,对于您的示例数据,您可以使用

json = json.replaceAll("\\[[0-9]+", "[");

我完全支持快速正则表达式修复,但您真的应该使用json解析器。谢谢,现在它可以工作了。最终结果:json=json.replaceAll(“\[[0-9]+,”,“[”;
json = json.replaceAll("\\[[0-9]+", "[");