JSONArray,假如记录为[{"A":"a","B","b"},{"C":"c","D","d"},{"E":"e","F","f"}],需要判断Lis<String>中是否包含在JSONArray中
时间: 2023-09-20 10:05:48 浏览: 62
JS中判断JSON数据是否存在某字段的方法
您可以使用 Java 的 JSONArray 和 JSONObject 类来解析和查询 JSON 数据。下面是一个示例代码来判断一个 List<String> 是否包含在给定的 JSONArray 中:
```java
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
String jsonString = "[{\"A\":\"a\",\"B\":\"b\"},{\"C\":\"c\",\"D\":\"d\"},{\"E\":\"e\",\"F\":\"f\"}]";
List<String> stringsToCheck = new ArrayList<>();
stringsToCheck.add("A:a");
stringsToCheck.add("C:c");
stringsToCheck.add("X:x");
try {
JSONArray jsonArray = new JSONArray(jsonString);
for (String str : stringsToCheck) {
String[] keyValue = str.split(":");
String key = keyValue[0];
String value = keyValue[1];
boolean found = false;
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject.has(key) && jsonObject.getString(key).equals(value)) {
found = true;
break;
}
}
if (found) {
System.out.println(str + " is present in the JSONArray.");
} else {
System.out.println(str + " is not present in the JSONArray.");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
```
该代码会将 JSON 字符串解析为 JSONArray,然后在循环中逐个检查 List 中的字符串是否存在于 JSONArray 中的某个 JSONObject 中。如果找到匹配的键值对,则输出相应的结果。
这里假设 List<String> 中的每个元素是以 "键:值" 的形式存储。示例中的输出将是:
```
A:a is present in the JSONArray.
C:c is present in the JSONArray.
X:x is not present in the JSONArray.
```
希望能对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文