String response = "{\"phone\":[{\"firstName\":\"sandeepan\",\"lastName\":\"\"}]}";
System.out.println("response "+response);
Pattern ps = Pattern.compile("/\\{\"\\.\\*\"firstName\":\"([a-z]*)\"\\.\\*/");
Matcher m = ps.matcher(response);
while(m.find()) {
System.out.println("matched "+m.group());
}
System.out.println("After matching block");
Вывод:
response {"phone":[{"firstName":"sandeepan","lastName":""}]}
After matching block
Регулярное выражение работает, хотя - https://regex101.com/r/L2vZ9J/1/
Почему мы используем регулярное выражение вместо анализа json:
- Может быть несколько наборов данных в ответе на данный номер телефона, и мы в порядке с захватом первого.
- В первом атрибуте есть значение («телефон» - это значение, а не ключ, поэтому, по-видимому, нужно смоделировать его как класс, чтобы сделать это правильно.)
Это всего лишь разовая задача, поэтому нам нужно выполнить ее быстро - времени на ее реализацию не так много.