在csdn闲逛看到一篇名为<<c++游戏开发中使用json>>的文章 ,突发奇想,既然在c++可以处理json,那么在java中也该有处理json的javabean,在json.org发现了一个名为json-simple的项目,下载发现使用很简单,下面写了一个简单的deom供大家参考
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();
}
以上代码部分来源于网络,经过少许修改
本文为原创,欢迎转载,请注明出处。文采有限,不足之处,欢迎指出。