json

来源:互联网 发布:手机淘宝如何投诉卖家 编辑:程序博客网 时间:2024/06/17 23:38
1,解析json需要jar:commons-beanutils.jar,commons-collections.jar,commons-lang.jar,commons-logging.jar,ezmorph.jar.json-lib.jar
2 json是通过key:vlaue这样的组成的,还可以添加数组,不过数组格式也是按这种方式
如:String json="{id:'id1',value:'value1',name:'name1',array1:[{a1:'a11',a2:'a2'}]}";
3 通过JSONObject.fromObject()来得到JSONObject类型的对象,
如:JSONObject json_object=JSONObject.fromObject(json);
4 然后得到JSONObject对象,就可以通通过该对象的get方法得到json中的name的值,
如:String id=json_object.get("id").toString();
5 通过JSONObject.fromObject是为了得到JSONObject类型,可以得到JSONArray类型,
如:JSONObject jo1=jo.getJSONArray("array1").getJSONObject(0);
System.out.println(jo1.get("a1"));
为了得到json类型中的数组类型,如上。
6 解析json数组中元素的几种方法,
例如:第一种:JSONObject jo1=JSONObject.getJSONArray("array1").getJSONOjbect(0);
第二种,JSONObject jo2=JSONObject.fromObject(JSONObject.getJSONArray("array1").get(0))
个人觉得第一种比较好,
7 要想得到get(''),要使用JSONObject对象来得到,为了得到JSONObject对象,如果是单一的可以通过JSONObject.fromObject(),如果是数组可以通过JSONObject.getJSONArray('').getJSONObject(0),
如:JSONObject jo=JSONObject.fromObject(json);
System.out.println(jo.get("id").toString());
JSONObject jo1=jo.getJSONArray("array1").getJSONObject(1);
System.out.println(jo1.get("a"));


jsonObject对象,得到单一,通过get,得到数组,通过getJSONArray
8 json可以通过List和map转换而来,
如:List list=new ArrayList();
list.add(1);
list.add("1");
list.add("12");
JSONArray ja=JSONArray.fromObject(list);
//JSONObject jo=JSONObject.fromObject(list);
Map<String,Object> map=new HashMap();
map.put("1","11");
map.put("2","22");
JSONObject jo=JSONObject.fromObject(map);
由于list为数组,所有必须通过JSONArray来转换,
9 JSONObject还可以put方法,添加map等类型,
如:Map<String,Object> map=new HashMap();
map.put("1","11");
map.put("2","22");
JSONObject jo=JSONObject.fromObject(map);
jo.put("map",map);
System.out.println(jo.get("map"));
10 js中的eval强大,可以计算表达式,
如:<script type="text/javascript" language="javascript">
  var obj={name:"11",id:'12'};
  var x=12;
  var obj1=eval(x+1);
  alert(obj1);
  </script>
11 eval也可以解析json
如:var obj={name:"11",id:'12'};
  var x=12;
  var obj1=eval(obj);
  alert(obj1.id);
12 eval也可以解析json数组,
如:var obj={name:[{aa:'aa1',bb:'bb1'}]};
  var x=12;
  var obj1=eval(obj);
  var obj2=eval(obj1.name)
  alert(obj2[0].aa);
13 如果json为字符串,则需要在使用eval时添加"("+")"
如:var obj="{name:'aa'}";
  var x=12;
  var obj1=eval("("+obj+")");
  alert(obj1.name);
14通过eval转化为后的结果不是字符串,
如:var obj="{a:[{name:'aa1'}]}";
  var x=12;
  var obj1=eval("("+obj+")");
  //alert(obj1[0].name);
  var obj2=eval(obj1.a);
 alert(obj2[0].name);
15 eval是将json字符串转化为json对象,
16 eval是将json字符串转为话json对象,JSON.stringify()是讲json对象转化为json字符串
如:var obj="{a:'aa'}";
 var obj1=eval("("+obj+")");
 alert(obj1.a);
 var obj2=JSON.stringify(obj1);
 alert(obj2);
 var obj3=eval("("+obj2+")");
 alert(obj3.a);
需要使用json.stringify(),需要引用json2.js。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蓝岑口服液 蓝峰狂龙 蓝峰 蓝峰狂龙全本txt下载 蓝峰狂龙全章节目录表 浏阳蓝思科技2018普工工资怎样 工美蓝孔雀商务酒店 东莞蓝思科技招聘普工 优蓝网招聘普工 蓝帆 蓝帆医疗股吧 002382蓝帆医疗 002382 蓝带啤酒价格表 波本蓝带 蓝带国际学院 蓝带玻璃瓶 卡地亚蓝气球钢带 蓝带马爹利6斤价格表 洪蓝玉带糕 肇庆蓝带啤酒 80之带着包子奔小康 蓝十六 巴黎蓝带厨艺学校 带球闯世界 蓝夕落 蓝带马爹利750ml 蓝带啤酒1844多少钱 蓝带1844啤酒价格 蓝带xo多少钱一瓶 蓝带啤酒好喝吗 蓝带啤酒图片 蓝带将军 兰带 上海蓝带厨艺学院 跆拳道蓝带 蓝带学校 蓝带烘焙学校 蓝带啤酒经销商 蓝带多少钱一瓶 蓝带学费 蓝带啤酒多少钱一瓶 两斤蓝带多少钱