最近在做的項目涉及到把json數據格式轉換成list集合的需求,在網上看了一些文章,但是覺得比較凌亂,現在問題已經解決,特此寫下此文章記錄一下。
1.添加相關依賴
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-core-asl -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
2.我們處理的json格式是如下所示:
{
"info": [
{
"topoName": "mtd_recommend_dev_netty_n002",
"weight": 50
},
{
"topoName": "mtd_recommend_dev_netty_n001",
"weight": 100
}
]
}
3.具體代碼實現如下:
String result=HttpRequest.sendGet(zooUrl+"gettopo",param);
System.out.println("result--"+result);
JSONObject obj=JSONObject.parseObject(result);//獲取jsonobject對象
System.out.println("obj---"+obj);
JSONArray arr=obj.getJSONArray("info");//獲取的結果集合轉換成數組
System.out.println("arr---"+arr);
List list1=new ArrayList();
for(int i=0;i<arr.size();i++){
Map map=new HashMap();
Map omap=(Map) arr.get(i);
System.out.println("omap--"+omap);
String value1=(String) omap.get("topoName");
System.out.println("value1--"+value1);
Integer value2=(Integer)omap.get("weight");
System.out.println("value2--"+value2);
map.put("weight",value1);
map.put("count",value2);
list1.add(map);
}
result就是我取到的上述json值
這就是我的實現過程,可以最終得到list集合
可以在自己的代碼中去debug調試,看看是怎么一步步處理json數據的
新手,對于json并不是很了解,只是需求實現了,如有錯誤,歡迎指正