一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

json数据格式理解解析

时间:2012-01-14 编辑:简简单单 来源:一聚教程网

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

 

 代码如下 复制代码
static String string2Json(String s) {
    StringBuilder sb = new StringBuilder(s.length()+20);
    sb.append('"');
    for (int i=0; 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"}" 这样的结果

热门栏目