在我下面的代码中,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
value 与userId
上面的 value 匹配JSON String
。这意味着如果id
值493
在上面的 JSON 字符串中,那么userId
值也应该是493
. 在 JSON 字符串中,可能有很多,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
。有什么我想念的吗?