出处:http://www.52php.cn/article/p-dzdxytlc-g.html
Java不像PHP解析和生产JSON总是一个比较痛苦的过程。但是使用JSONObject和JSONArray会让整个过程相对舒服一些。
需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar
1. 创建一个JSONObject对象:
- packagecom.xxx.video.resource.controller.web;
-
- importjava.util.ArrayList;
- importjava.util.HashMap;
-
- importnet.sf.json.JSONArray;
- importnet.sf.json.JSONObject;
- publicclassTest{
- staticvoidmain(String[]args){
-
-
- JSONObjectjsonObject=newJSONObject();
- jsonObject.put("UserName","ZHULI");
- jsonObject.put("age","30");
- jsonObject.put("workIn","ALI");
- System.out.println("jsonObject1:"+jsonObject);
- //创建JsonObject第二种方法
- HashMap<String,String>hashMap=newHashMap<String,String>();
- hashMap.put("UserName","ZHULI");
- hashMap.put("age","30");
- hashMap.put("workIn","ALI");
- System.out.println("jsonObject2:"+JSONObject.fromObject(hashMap));
- //创建一个JsonArray方法1
- JSONArrayjsonArray=newJSONArray();
- jsonArray.add(0,108); list-style:decimal-leading-zero outside; color:inherit; line-height:17.27272605895996px; margin:0px!important; padding:0px 3px 0px 10px!important"> jsonArray.add(1,0); background-color:inherit">2,108); list-style:decimal-leading-zero outside; color:inherit; line-height:17.27272605895996px; margin:0px!important; padding:0px 3px 0px 10px!important"> System.out.println("jsonArray1:"+jsonArray);
- //创建JsonArray方法2
- ArrayList<String>arrayList=newArrayList<String>();
- arrayList.add("ZHULI");
- arrayList.add("30");
- arrayList.add("ALI");
- System.out.println("jsonArray2:"+JSONArray.fromObject(arrayList));
- //如果JSONArray解析一个HashMap,则会将整个对象的放进一个数组的值中
- System.out.println("jsonArrayFROMHASHMAP:"+JSONArray.fromObject(hashMap));
- //组装一个复杂的JSONArray
- JSONObjectjsonObject2=newJSONObject();
- jsonObject2.put("UserName",108); list-style:decimal-leading-zero outside; line-height:17.27272605895996px; margin:0px!important; padding:0px 3px 0px 10px!important"> jsonObject2.put("age",108); list-style:decimal-leading-zero outside; color:inherit; line-height:17.27272605895996px; margin:0px!important; padding:0px 3px 0px 10px!important"> jsonObject2.put("workIn",108); list-style:decimal-leading-zero outside; line-height:17.27272605895996px; margin:0px!important; padding:0px 3px 0px 10px!important"> jsonObject2.element("Array",arrayList);
- System.out.println("jsonObject2:"+jsonObject2);
- }
- }
结果:
jsonObject1:{"UserName":"ZHULI","age":"30","workIn":"ALI"}
- jsonObject2:{"workIn":"ALI","UserName":"ZHULI"}
- jsonArray1:["ZHULI","30","ALI"]
- jsonArray2:["ZHULI","ALI"]
- jsonArrayFROMHASHMAP:[{"workIn":"ALI","UserName":"ZHULI"}]
- jsonObject2:{"UserName":"ZHULI","workIn":"ALI","Array":["ZHULI","ALI"]}
解析JSON字符串:
packagecom.xxx.video.resource.controller.web;
- importnet.sf.json.JSONArray;
- importnet.sf.json.JSONObject;
- publicclassTest{
- publicstaticvoidmain(String[]args){
- StringjsonString="{"UserName":"ZHULI","age":"30","workIn":"ALI","Array":["ZHULI","30","ALI"]}";
- //将Json字符串转为java对象
- JSONObjectobj=JSONObject.fromObject(jsonString);
- //获取Object中的UserName
- if(obj.has("UserName")){
- System.out.println("UserName:"+obj.getString("UserName"));
- }
- //获取ArrayObject
- if(obj.has("Array")){
- JSONArraytransitListArray=obj.getJSONArray("Array");
- for(inti=0;i<transitListArray.size();i++){
- System.out.print("Array:"+transitListArray.getString(i)+"");
- }
返回:
UserName:ZHULI
- Array:ZHULIArray:30Array:ALI
对象遍历
if(!obj.isNull("sku")){
- JSONObjectskuObject=obj.getJSONObject("sku");
- Iterator<String>keys=skuObject.keys();
- Stringkey;
- Objecto;
- while(keys.hasNext()){
- key=keys.next();
- o=skuObject.get(key);
- skuMap.put(key,String.valueOf(o));
- }
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|