Java 如何检查JsonElement中的项是否存在于单独的JsonArray中?

Java 如何检查JsonElement中的项是否存在于单独的JsonArray中?,java,arrays,Java,Arrays,我有一个JsonElement: JsonElement testCaseParametersJson = batchItem.getTestCase().getToolParameters().get("testCaseParameters"); 其中指定了以下各项: ["dessert", "place", "tvShow"] 我有一个JsonArray: JsonObject testParametersJson = batchItem.getTestParameters().getA

我有一个JsonElement:

JsonElement testCaseParametersJson = batchItem.getTestCase().getToolParameters().get("testCaseParameters");
其中指定了以下各项:

["dessert", "place", "tvShow"]
我有一个JsonArray:

JsonObject testParametersJson = batchItem.getTestParameters().getAsJsonObject();
其中指定了以下各项:

{"dessert": "cookies", "tvShow": "survivor", "color" : "blue"}
String jsonObject = "{\"dessert\": \"cookies\", \"tvShow\": \"survivor\", \"color\" : \"blue\"}";
String jsonArray = "[\"dessert\", \"place\", \"tvShow\"]";

Map<String, String> objMap = new Gson().fromJson(jsonObject, new TypeToken<HashMap<String, String>>() {}.getType());
List<String> arrayVals = new Gson().fromJson(jsonArray, new TypeToken<List<String>>(){}.getType());
for(Entry<String, String> entry : objMap.entrySet()) {
  for (String val : arrayVals) {
    if (entry.getKey().equals(val)) {
      System.out.println("Found value in key set: " + val);
    }
  }
}

对于如何检查JsonArray中的键是否作为JsonElement中的一项存在,我非常感谢您提供一些建议

使用Gson库,您可以从JSONElement/JSONObject获取字符串值,并执行以下操作:

{"dessert": "cookies", "tvShow": "survivor", "color" : "blue"}
String jsonObject = "{\"dessert\": \"cookies\", \"tvShow\": \"survivor\", \"color\" : \"blue\"}";
String jsonArray = "[\"dessert\", \"place\", \"tvShow\"]";

Map<String, String> objMap = new Gson().fromJson(jsonObject, new TypeToken<HashMap<String, String>>() {}.getType());
List<String> arrayVals = new Gson().fromJson(jsonArray, new TypeToken<List<String>>(){}.getType());
for(Entry<String, String> entry : objMap.entrySet()) {
  for (String val : arrayVals) {
    if (entry.getKey().equals(val)) {
      System.out.println("Found value in key set: " + val);
    }
  }
}
String jsonObject=“{\'甜点\':\'饼干\',\'电视秀\':\'幸存者\',\'颜色\':\'蓝色\'”;
字符串jsonArray=“[\“甜点\”、\“地点\”、\“电视秀\]”;
Map objMap=new Gson().fromJson(jsonObject,new TypeToken(){}.getType());
List arrayVals=new Gson().fromJson(jsonArray,new TypeToken(){}.getType());
for(条目:objMap.entrySet()){
用于(字符串值:arrayVals){
if(entry.getKey().equals(val)){
System.out.println(“在键集中找到的值:“+val”);
}
}
}

可以对代码进行总结,如果使用Java 8,可以根据需要尝试“forEach”循环。

可以将JsonObject转换为映射形式,然后迭代键和数组并进行比较。使用Gson,您可以对json转换为map执行类似的操作:map retMap=new Gson().fromJson(jsonString,new TypeToken(){}.getType());