2 D配列をjsonに変換

2165 ワード

 :        1,    ,123,321,1,    ,123,321
/** 
     *js   json 
     * 
     */  
    function arrayToJson(o) {   
    var r = [];   
    if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(
)/g, "\
").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\""; if (typeof o == "object") { if (!o.sort) { for (var i in o) r.push(i + ":" + arrayToJson(o[i])); if (!!document.all && !/^
?function\s*toString\(\)\s*\{
?\s*\[native code\]
?\s*\}
?\s*$/.test(o.toString)) { r.push("toString:" + o.toString.toString()); } r = "{" + r.join() + "}"; } else { for (var i = 0; i < o.length; i++) { r.push(arrayToJson(o[i])); } r = "[" + r.join() + "]"; } return r; } return o.toString(); } JS [["1"," ","123","321"],["1"," ","123","321"]] Java , JSON jar : :http://code.alibabatech.com/svn/fastjson/repository/com/alibaba/fastjson/1.0.4/fastjson-1.0.4.jar public List JsonToList(String arr){ List relReceiveFaultList = new ArrayList<RelChecklistFault>(); com.alibaba.fastjson.JSONArray mainArray=JSON.parseArray(arr); for(int i=0;i< mainArray.size();i++){ log.info(" :"+mainArray.size()); com.alibaba.fastjson.JSONArray paramObject=(com.alibaba.fastjson.JSONArray)mainArray.get(i); RelChecklistFault relChecklistFault= new RelChecklistFault(); relChecklistFault.setFaultType(paramObject.get(0).toString()); relChecklistFault.setFaultSymptom(paramObject.get(1).toString()); relChecklistFault.setFaultCause(paramObject.get(2).toString()); relChecklistFault.setSuggest(paramObject.get(3).toString()); relReceiveFaultList.add(relChecklistFault); } return relReceiveFaultList; }