У меня есть неструктурированная строка, и я хотел бы извлечь оттуда следующую JSON строку с тегом «restaurant» с помощью регулярного выражения. Данные приведены для примера, но формат и тег «ресторан» верны.
{
"restaurant": {
"id": "abcd-efgh-ijkl",
"created_at": "2020-12-31",
"cashier_payments": []
}
}
Я придумываю регулярное выражение String findMe = "\"restaurant\": {(\\n.*?)+}";
, однако оно принимает все данные до последнего }
.
Как исправить регулярное выражение?
Как и просили, я получаю неструктурированную строку с помощью Jsoup:
String htmlString = contentBuilder.toString();
Document doc = Jsoup.parse(htmlString);
Elements elements = doc.getElementsByTag("script");
for (Element element :elements ){
for (DataNode node : element.dataNodes()) {
String s = node.getWholeData();
if(s.contains("\"restaurant\":")){
System.out.println(s);
}
}
System.out.println("-------------------");
}
Итак, я хотел бы выполнить синтаксический анализ из строки с.