java处理json字符串实例

来源:互联网 发布:update sql更新数据库 编辑:程序博客网 时间:2024/05/16 16:55

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

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

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