В моем нижнем коде, colData
магазины JSON String
. Образец пример для colData-Сопоставьте строку со строкой JSON с использованием регулярных выражений
{ "LV": [{ "v": { "tenureSiteReg": NULL, "bghtItms": 48, "pnlValue": 105,478409, "byrSgmnt": 2, "cstmrId" : "814296998", "slrRevRnk": - 99,0, "soldItms": 0, "slrSgmnt": 6, "byrRevRnk": 0,013, "mainAcct": 78, "GMV": 0.0, "cstmrRevRnk": 0,021, "pnlRev ": 313.438843," cstmrSgmnt ": 51," GMB ": 4674,76," totalVal ": 142,536293," идентификатор пользователя ": 493}," сп ": 42}]," LMD ": 20130}
сейчас Я пытаюсь сопоставить id
значение с userId
значением в приведенном выше JSON String
. Значение, если id
Значение равно 493
, то в приведенном выше JSON String userId
значение также должно быть 493
. И в JSON String, возможно, есть много userId values
, поэтому все значения userId
должны совпадать с id
. Если какой-либо из них не совпадает, то запишите исключение.
Так что я пытался что-то вроде this-
private static final Pattern USER_ID_PATTERN = Pattern.compile("userId:\\d+");
for (String str : colData) {
Matcher matcher = USER_ID_PATTERN.matcher(str);
while (matcher.find()) {
if (!matcher.group().equals("userId:"+id))
System.out.println("LOG exception");
}
}
Но выше JSON строки, он не собирается внутри while loop
также. Есть что-то, чего я не вижу?
Любые мысли будут очень полезны.
* Есть что-нибудь мне не хватает * A JSON парсер, может быть? –
@HotLicks, Можете ли вы представить мне пример и для достижения вышеуказанного сценария? – AKIWEB
Разберите JSON на карте. На карте найдите «lv» массив карт. Перейдите через массив и найдите элемент «v», который является другой картой. Внутри этой карты найдите элемент «userId». –