1. 程式人生 > >使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持

使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持

iter ati ans tails variable println info bject project

關於使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持。
net.sf.json的下載地址
最新版本:http://sourceforge.net/projects/json-lib/files/json-lib/
本次選擇 json-lib-2.3-jdk15.jar 版本
最新的是2.4的版本,本次使用的是 json-lib-2.3-jdk15.jar;
json-lib還需要以下依賴包:
jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6

所有依賴包和 json-lib包已打包上傳,歡迎下載。
資源地址:http://download.csdn.net/detail/y562363753/9921883

使用樣例:

String json = "[{‘day1‘:‘work‘,‘day2‘:26},{‘day1‘:123,‘day2‘:26}]";  
                JSONArray jsonArray = JSONArray.fromObject(json);

實際使用:

String allWaterArrayString = req.getParameter("allWaterArrayString");
            JSONArray allWaterArray = JSONArray.fromObject(allWaterArrayString);
            int count = 0;
            List<MonitorAutoEntity> gasList = JSONArray.toList(allWaterArray, new MonitorAutoEntity(), new JsonConfig());
            for (MonitorAutoEntity monitorAutoEntity : gasList) {
                monitorAutoEntity.setPublishstatus("2");
                count += this.monitoringInfoService.updateMonitorWaterInfo(monitorAutoEntity);
                    }

下面引自http://blog.csdn.net/chenaschen/article/details/41543421內容,方便記錄。
一、字符串與json
字符串格式:
static String json = “[{‘day1’:’work’,’day2’:26},{‘day1’:123,’day2’:26}]”;

轉換為json數組
JSONArray jsonArray = JSONArray.fromObject(json);

單個json對象轉換
static String jobj = {‘day1’: 1, ‘day2’: 2};

[java] view plain copy

JSONObject obj = JSONObject.fromObject(jobj);  

json轉換為Java bean

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());  

List 轉換成json(Map也可以)

List list = new ArrayList();  
JsonBean2 jb1 = new JsonBean2();  
jb1.setCol(1);  
jb1.setRow(1);  
jb1.setValue("xx");  

JsonBean2 jb2 = new JsonBean2();  
jb2.setCol(2);  
jb2.setRow(2);  
jb2.setValue("");  

list.add(jb1);  
list.add(jb2);  
JSONArray ja = JSONArray.fromObject(list);  

二、遍歷Json數組

輸出每個成員
    for(int i=0; i<jsonArray.size(); i++){  
        System.out.println(jsonArray.get(i));  
    }  

獲取每個成員的key及value
    JSONObject obj = (JSONObject) jsonArray.get(i);  
        Iterator it = obj.keys();  
        while (it.hasNext()) {  
          String key = it.next().toString();  
          System.out.println("key ----- "+key);  
          System.out.println("value ----- "+obj.get(key));  
    }  

三、修改、添加、刪除成員

修改
涉及到修改json成員的很少,如果真的要修改的話,個人建議轉為字符串然後用replaceAll這個函數進行修改,如果你有更好的建議歡迎給評論。
增加
    JSONObject obj2 = new JSONObject();  
    obj2.put("day1", "study");  
    obj2.put("day2", "2");  
    jsonArray.add(obj2);  


刪除
    jsonArray.remove(index);  
    jsonArray.subList(fromIndex, toIndex)  

使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持