2015-02-21 2 views
1

Мне нужно получить объект JSON из строкиJava Regex получить JSON Schema

в этой строке содержание JSON является уникальным с помощью этой формы:

abit2: {....};

я сделал регулярное выражение так, но я не могу остановиться на точку с запятой

public String getJSON(String content) throws MalformedURLException, IOException{ 

    String json = "";  

    String regex = "abit2:([\\s\\S]*)\\};"; 
    Pattern pattern = Pattern.compile(regex); 
    Matcher matcher = pattern.matcher(content);  
    while (matcher.find()) {    
     json = matcher.group().replace("abit2:", "");  
    } 

    return json;   
} 
+3

Не делайте этого. В Java есть некоторые известные библиотеки парсеров JSON. – anubhava

ответ

1

Вы забыли включить открывающую фигурную скобку, и вы должны сделать этот [\\s\\S]* шаблон как нежадным.

String regex = "abit2:\\{([\\s\\S]*?)\\};"; 

DEMO