解析json的一些总结

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();
}

以上代码部分来源于网络,经过少许修改 

本文为原创,欢迎转载,请注明出处。文采有限,不足之处,欢迎指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值