我有两个字符串,一个是JSON字符串(我创建了一个json obj并使用obj.tostring()将其转换为字符串并将其传递给另一个类)和一个普通的字符串,字符没有单词或含义“ABCDEFG”。
以下是json格式字符串s1:
{"email_prompted":"n","error":"o","pin":"c","antiphishing_prompted":"n","antiphishing":"n"}
另一个字符串是s2:“EoPnAn”
在字符串s2中,字符E表示错误P表示引脚,A表示反网络钓鱼。
现在我想比较s1中的错误值“o”等于s2中的第二个字符。 我想用s2的第二,第四和第六个字符检查错误,引脚和反网络钓鱼的值。
如果三者相等,我想打印“ok”。
我不是要求你给我写一个代码,而是给我一个如何做的提示。 但如果您提供代码或示例,我们非常感激。
以下是对我想要的过度简化。 对不起,我的代码过于简单,但这会有用吗?
String s1 =“{”email_prompted“:”n“,”error“:”o“,”pin“:”c“,”antiphishing_prompted“:”n“,”反网络钓鱼“:”n“}” ;
String s2 =“EoPnAn”;
char [] p1 = s1.toCharArray();
char [] p2 = s2.toCharArray();
if(p1 [31] == p2 [1]&& p1 [41] == p2 [3]&& p1 [88] == p2 [5]){
System.out.println("OK");
}
答案 0 :(得分:1)
在给出的示例中,结果不是“ok”(pin是“c”,而不是“n”):
String s1 = "{\"email_prompted\":\"n\",\"error\":\"o\",\"pin\":\"c\",\"antiphishing_prompted\":\"n\",\"antiphishing\":\"n\"}";
String s2 = "EoPnAn";
String[] s1Parts = s1.replaceAll("[\\{}\"]", "").split("[,:]");
boolean equal = s2.substring(1, 2).equals(s1Parts[3]) /* error */
&& s2.substring(3, 4).equals(s1Parts[5]) /* pin */
&& s2.substring(5, 6).equals(s1Parts[9]); /* antiphishing */
if(equal) {
System.out.println("ok");
}
答案 1 :(得分:0)