使用JSONArray.fromObject()方法和引入net.sf.json包所需要的jar包支持
關於使用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包支持