首页 > 编程语言 > 详细

json-lib-2.4.jar Bug,json字符串中value为"[value]"结构时,解析为数组,不会解析成字符串

时间:2016-07-21 21:26:38      阅读:138      评论:0      收藏:0      [点我收藏+]

使用json-lib.jar 2.4进行json字符串转换为对象时发现一个bug。贴下测试代码:

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
          </dependency>
          <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.12</version>
          </dependency>

 

public class Test {
    public static void main(String[] args) {
        String json = "{‘user‘:[ {‘name‘:‘zs‘, ‘score‘:‘[0-100]‘}, " +
                                "{‘name‘:‘zs‘, ‘score‘:‘[0-100]‘} ]}";
        test_json_lib(json);
        test_fastjson(json);
    }
    
    public static void test_json_lib(String json){
        net.sf.json.JSONObject obj = net.sf.json.JSONObject.fromObject(json);
        System.out.println("json-lib====="+obj.toString());
    }
    
    public static void test_fastjson(String json){
        com.alibaba.fastjson.JSONObject obj = com.alibaba.fastjson.JSONObject.parseObject(json);
        System.out.println("fastjson====="+obj);
    }

}

输出结果:

json-lib====={"user":[{"name":"zs","score":["0-100"]},{"name":"zs","score":["0-100"]}]}
fastjson====={"user":[{"name":"zs","score":"[0-100]"},{"name":"zs","score":"[0-100]"}]}

我测试了使用json-lib和阿里的fastjson,结果如上:发现json-lib把score的value当成了数组(本来是个字符串"[0-100]"),fastjson转换正常。

 

json-lib-2.4.jar Bug,json字符串中value为"[value]"结构时,解析为数组,不会解析成字符串

原文:http://www.cnblogs.com/lylife/p/5692912.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!