json-lib-2.3-jdk15.jar escapse 單引號 雙引號

yaozuodaoforfly 11年前發布 | 3K 次閱讀 Synfig Studio Web設計

        List<?> objects = this.getSession().createSQLQuery(sql).setResultTransformer(
                CriteriaSpecification.ALIAS_TO_ENTITY_MAP).list();
        //modify by lKF43181
        //對該方法進行修改是為了滿足字符串中包含單引號或雙引號
        //例如 {"key":"'迭代21','迭代25','迭代81','迭代82'"}
        //JSONArray jsonArray = new JSONArray();
        JSONStringer jsonStringer = new JSONStringer();
        jsonStringer.object().key("totalProperty").value(objects.size());
        jsonStringer.key("msg");
        jsonStringer.array();
        for (Object object : objects)
        {
            //JSONObject jsonItem = new JSONObject();
            Map<?, ?> mapObj = (Map<?, ?>) object;
            Iterator it = mapObj.keySet().iterator();
            jsonStringer.object();
            while (it.hasNext())
            {
                String key = (String) it.next();
                Object value = mapObj.get(key);
                if(null == value)
                {
                value = "";
                }
                else if(value instanceof Date) {
                value = (Object)DateUtil.formatDateTime((Date)value);
}
                //jsonItem.put(key, value);
                String valueStr = value.toString();
                jsonStringer.key(key).value(valueStr);
            } 
            jsonStringer.endObject();
        }
        jsonStringer.endArray();
        jsonStringer.endObject();
        /*JSONObject json = new JSONObject();
        json.put("totalProperty", objects.size());
        json.accumulate("msg", jsonArray.toString());*/
        return jsonStringer.toString();
    
 本文由用戶 yaozuodaoforfly 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!