以下のコードでは、colData
stores JSON String
. colData のサンプル例-
{"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,"userId":493},"cn":42}],"lmd":20130}
今、上記のid
値と値を一致させようとしています。値が上記の JSON 文字列の場合、値も である必要があります。また、JSON 文字列では、多くの可能性があるため、すべての値が と一致する必要があります。それらのいずれかが一致しない場合は、例外をログに記録します。userId
JSON String
id
493
userId
493
userId values
userId
id
だから私はこのようなことを試みていました-
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
も入りません。不足しているものはありますか?