我需要指导来迭代LinkedHashMap
以及值
{"8":{"Name":"test","city":"ny"}, "9":{"Name":"test","city":"ny"}}
我可以将密钥显示为8
,将值显示为{"Name":"test","city":"ny"}
但是我试图在关键Name
中显示city
和8
作为键值。
任何帮助表示感谢。
答案 0 :(得分:1)
您的数据看起来像JSON所以也许您正在寻找使用JSON解析器的解决方案
例如,使用org.json
包,您的代码可能如下所示:
String jsonStr = "{\"8\":{\"Name\":\"test1\",\"city\":\"ny1\"},"
+ " \"9\":{\"Name\":\"test2\",\"city\":\"ny2\"}}";
JSONObject parent = new JSONObject(jsonStr);
for (Object key : parent.keySet()){
JSONObject childObject = parent.getJSONObject(key.toString());
System.out.println("-----------");
System.out.println(childObject);
System.out.println("Name = "+childObject.get("Name"));
System.out.println("city = "+childObject.get("city"));
}
输出:
-----------
{"city":"ny1","Name":"test1"}
Name = test1
city = ny1
-----------
{"city":"ny2","Name":"test2"}
Name = test2
city = ny2
答案 1 :(得分:0)
鉴于你的Hashmap的值只是一个普通的String,你可以使用它:
LinkedHashMap<String, Object> linkedHashMap = new LinkedHashMap<String, Object>();
linkedHashMap.put("8", "{\"Name\":\"test\",\"city\":\"ny\"}");
String value = (String)linkedHashMap.get("8");
String split[] = value.split("\"");
System.out.println(split[3]);
System.out.println(split[7]);