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数据格式。。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。