Как получить значения массива JSON из строки с помощью регулярного выражения в JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как получить значения массива JSON из строки с помощью регулярного выражения в Java

Сообщение Anonymous »

Мне нужно получить значения из строки с помощью массива JSON, используя регулярное выражение.
Пример строки:
[INFO][2022-11-11] Response body :
{
"values":[
"abc123",
"def456",
"xyz789"
]
}

Итак, я хочу получить значения: abc123, def456, xyz789.
Обратите внимание, что я работаю со строкой (на самом деле это вывод журнала). ), поэтому я не уверен, смогу ли я использовать какие-либо библиотеки для анализа JSON.
Я пытаюсь использовать следующее регулярное выражение, но получаю только последнее значение массива xyz789:
"values"\s*:\s*\[(\s*"(\w+)"\s*,?)*]

Мое решение на Java
String pattern = "\"values\"\\s*:\\s*\\[(\\s*\"(\\w+)\"\\s*,?)*]" ;

Matcher matcher = Pattern.compile(pattern).matcher(source());
while (matcher.find()) {
System.out.println("matcher.group() = " + matcher.group());
System.out.println("matcher.group(1) = " + matcher.group(1));
System.out.println("matcher.group(1) = " + matcher.group(2)); //xyz789
}

private static String source() {
String s = "{\"values\": [\n"
+ " \"abc123\", \"def456\", "
+ " \"xyz789\" ]\n"
+ " }";

return s;
}


Подробнее здесь: https://stackoverflow.com/questions/743 ... ex-in-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»