import org.json.simple.parser.JSONParser;
public class Test1 {
public static void main(String[] args) {
String str="[{\"name\":\"george\",\"age\":\"20\"},{\"name\":\"jack\",\"age\":\"25\"}]";//json json_simple中解析json,属性名必须也为字符串
JSONArray jarr=(JSONArray)JSONValue.parse(str);//将json解析成JSONArray对象,JSONArray可以理解成是JSONObject的数组
for(int i=0;i<jarr.size();i++){
JSONObject jo=(JSONObject)jarr.get(i); //从数组中得到JSONObject对象
System.out.println(jo.get("name")+":"+jo.get("age"));
}
}
}
json-simple 下载地址http://json-simple.googlecode.com/files/json_simple-1.1.jar
写此文的地是原来在项目中用到过很多弹出页面,弹出页面中涉及的表和主表是多对一的关系,需要在主表提交时是再将关联表的数据一起存储,这样在主页面中会存放一些弹出页面的数据,在主页面中又可以对弹出页面的的数据进行修改和删除,感觉以前做的方法很麻烦。现在想到的实现方法,可以在主页面中放一个javascript对象,然后只要操作这个javascript对象就可以了。传到后台时只要把这个javascript对象转换成json-simple可以处理的格式就ok了。
以下是javascript对象转成json的方法
function obj2str(o){
var r = [];
if(typeof o =="string") return "\""+o.replace(/([\'\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\"";
if(typeof o =="undefined") return "undefined";
if(typeof o =="number") return "\""+o+"\"";
if(typeof o == "object"){
if(o===null) return "null";
else if(!o.sort){
for(var i in o)
r.push("\""+i+"\""+":"+obj2str(o[i]))
r="{"+r.join()+"}"
}else{
for(var i =0;i<o.length;i++)
r.push(obj2str(o[i]))
r="["+r.join()+"]"
}
return r;
}
return o.toString();
}
以上代码部分来源于网络,经过少许修改
本文为原创,欢迎转载,请注明出处。文采有限,不足之处,欢迎指出