String jsonStr = {"entry":[{"key":"a","value":"123"},{"key":"b","value":"456"}]}
怎么根据key取到值呢
public static void main(String[] args) {
String key = "a";
String value = "";
String jsonStr = "{\"entry\":[{\"key\":\"a\",\"value\":\"123\"},{\"key\":\"b\",\"value\":\"456\"}]}";
String entry = JSON.parseObject(jsonStr).get("entry").toString();
List<JSONObject> jsonObjects = JSON.parseArray(entry, JSONObject.class);
for (JSONObject jsonObject : jsonObjects) {
if (key.equals(jsonObject.get("key"))) {
value = jsonObject.get("value").toString();
break;
}
throw new RuntimeException("未找到");
}
System.out.println(value);
}
Map json = (Map) JSONObject.parse(jsonStr ); 用FastJson即可
String jsonStr = "{\"entry\":[{\"key\":\"a\",\"value\":\"123\"},{\"key\":\"b\",\"value\":\"456\"}]}";
Map<String,Object> paramMap = (Map<String,Object>)JSONObject.parse(jsonStr) ;
String entry = paramMap.get("entry").toString();
List<Map<String,Object>> entryObjectList = (List<Map<String,Object>>)JSONObject.parse(entry) ;
System.out.println(entryObjectList);
entryObjectList.forEach(map->{
if("a".equals(map.get("key"))){
System.out.println(map.get("value"));
}
});