Java 如何遍历JsonObject对象
方法:
Iteratoriter=jsonInfo.entrySet().iterator();
代码示例:
publicclassTest{ publicstaticvoidmain(String[]args){ JSONObjectjsonInfo=newJSONObject(); Stringkey1="a"; jsonInfo.put(key1,"aa"); Stringkey2="b"; jsonInfo.put(key2,"bb"); Iteratoriter=jsonInfo.entrySet().iterator(); while(iter.hasNext()){ Map.Entryentry=(Map.Entry)iter.next(); System.out.println(entry.getKey().toString()); System.out.println(entry.getValue().toString()); } } }
补充:java生成json格式数据和java遍历json格式数据
java生成json格式的数据,在需要加入一个创建json的jar包,这个网上有好多,我使用的是org.json的jar包。
packagecom.dufy.javatojson; importjava.util.Iterator; importjavax.sound.midi.Synthesizer; importorg.json.JSONArray; importorg.json.JSONObject; publicclassTraverseJson{ /** *遍历json格式数据 *@paramjson *@return */ publicstaticObjecttraveseJson(Objectjson){ if(json==null){ returnnull; } if(jsoninstanceofJSONObject){//json是一个map //创建一个json对象 JSONObjectjsonObj=newJSONObject(); //将json转换为JsonObject对象 JSONObjectjsonStr=(JSONObject)json; //迭代器迭代map集合所有的keys Iteratorit=jsonStr.keys(); while(it.hasNext()){ //获取map的key Stringkey=(String)it.next(); //得到value的值 Objectvalue=jsonStr.get(key); //System.out.println(value); //递归遍历 jsonObj.put(key,traveseJson(value)); } returnjsonObj; }elseif(jsoninstanceofJSONArray){//ifjson是数组 JSONArrayjsonAry=newJSONArray(); JSONArrayjsonStr=(JSONArray)json; //获取Array的长度 intlength=jsonStr.length(); for(inti=0;i通过运行上面的代码就能生成我们想要的json格式的数据,如下所示:
{"QQ":["742981086@qq.com","742981086"],"age":22,"name":"aflyun","hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}} ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]] {"QQ":["742981086@qq.com","742981086"],"name":"aflyun","age":22,"hobby":["编程","看书","徒步","爬山","游泳"],"adderss":{"省份":"广东","市":"惠州","国籍":"中国"}} ------[{"a":"a"},[{"b":"b"},{"c":[1,2,3]}]]举一反三就可以生成我们想要的其他的json数据格式。。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。