龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

json数据格式理解解析

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
本文章简单的根据自己的经验来分析一下关于json数据格式理解,有需要了解json数据在使用中一些问题的朋友可以参考一下下哦。 将 String 对象编码为 JSON 格式时,只需处理好特殊字符即
本文章简单的根据自己的经验来分析一下关于json数据格式理解,有需要了解json数据在使用中一些问题的朋友可以参考一下下哦。

将 String 对象编码为 JSON 格式时,只需处理好特殊字符即可。另外,必须用 (") 而非 (') 表示字符串:

 

 代码如下
static String string2Json(String s) {
    StringBuilder sb = new StringBuilder(s.length()+20);
    sb.append('"');
    for (int i=0; i<s.length(); i++) {
        char c = s.charAt(i);
        switch (c) {
        case '"':
            sb.append("\"");
            break;
        case '\':
            sb.append("\\");
            break;
        case '/':
            sb.append("\/");
            break;
        case 'b':
            sb.append("\b");
            break;
        case 'f':
            sb.append("\f");
            break;
        case 'n':
            sb.append("\n");
            break;
        case 'r':
            sb.append("\r");
            break;
        case 't':
            sb.append("\t");
            break;
        default:
            sb.append(c);
        }
    }
    sb.append('"');
    return sb.toString();
 }
 


2,在PHP中的应用。
PHP中使用json_encode和json_decode来进行JSON封装和拆装。

封装string类型数据:json_encode在输出结果中,会在源字符串两端加上("),如对象内容是(abc),结果是("abc”)

封装stdClass对象类型数据:比如有个"value”成员内容是字符串,结果是:{"value":"u5e7fu4e1cu4f53u80b2,CCTV5"}

 

3,为什么要写这个。

ZenTaoPHP框架中,请求类型如果是“json”,输出结果会以JSON格式封装,但在对输出信息进行分析时,发现并非标准的JSON格式。

深究后,发现ZenTaoPHP对一部分数据进行了二次JSON封装,输出类似:"{"value":"\u5e7f\u4e1c\u4f53"}" 这样的结果


精彩图集

赞助商链接