2015-11-05 78 views
0

我需要指导,通过LinkedHashMap下面迭代值LinkedHashMap的<字符串,对象>

{"8":{"Name":"test","city":"ny"}, "9":{"Name":"test","city":"ny"}} 

我能够为8和值显示键{"Name":"test","city":"ny"}

,但我'想显示Namecity作为密钥8内的关键值。

任何帮助表示赞赏。

+0

哪里是你的努力吗? – Rehman

+0

我不明白你的问题。 –

+0

你可能需要在你的值上使用一些getter,比如'getName' – 2015-11-05 18:08:32

回答

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 
+0

谢谢你的哥们!这有助于 –

0

鉴于你HashMap中的值只是一个简单的字符串,那么你可以使用这个:

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]); 
相关问题