Всем доброго времени суток!
После сканирования QR-кода, и раскодирования данных я получаю такую строку (String):
D/vResult: {"Command":"101","ContractorGUID":"{29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}"}
Мне необходимо извлечь значение ключа ContractorGUID. В данный момент, для этого я использую обрезание строки (.substring):
vResult.substring(35, vResult.length() - 2)
Вопрос: Есть ли какое-то более простое решение этой задачи? Что-то по типу метода .getString, как в JSONObject.
Можно воспользоваться любой удобной библиотекой работы с JSON и получить результат:
String vResult = "{\"Command\":\"101\",\"ContractorGUID\":\"{29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}\"}";
System.out.println("vResult: " + vResult);
try {
org.json.simple.parser.JSONParser parser = new org.json.simple.parser.JSONParser();
org.json.simple.JSONObject result = (org.json.simple.JSONObject) parser.parse(vResult);
String value = (String) result.get("ContractorGUID");
System.out.println("value: " + value);
} catch (org.json.simple.parser.ParseException e) {
System.out.println("Error: " + e);
}
Консоль:
vResult: {"Command":"101","ContractorGUID":"{29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}"}
value: {29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}
String[] parts = vResult.split("ContractorGUID":"{:", 2);
System.out.println(parts[1]);
Можно регуляркой вытащить:
String vResult = "{\"Command\":\"101\",\"ContractorGUID\":\"{29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}\"}";
System.out.println("vResult: " + vResult);
java.util.regex.Pattern p = java.util.regex.Pattern.compile("^.+ContractorGUID\":\"(\\{.+\\})\"}$");
java.util.regex.Matcher m = p.matcher(vResult);
String value = m.matches() ? m.group(1) : null;
System.out.println("value: " + value);
Консоль:
vResult: {"Command":"101","ContractorGUID":"{29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}"}
value: {29545D4D-7AC9-4FCB-9E5C-B7AF4D9A70B5}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники