zoukankan      html  css  js  c++  java
  • json-lib-2.4.jar Bug,json字符串中value为"[value]"结构时,解析为数组,不会解析成字符串

    使用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转换正常。

  • 相关阅读:
    与eolinker api集成
    为什么要用eolinker帮助API开发
    什么是Eolinekr
    使用Eolinker加快您的API开发
    java反射
    mybatis-查询过程
    mybatis初始化过程
    mybatis的插件分析
    web.xml中的ContextLoaderListener和DispatcherServlet区别
    css+js杂记
  • 原文地址:https://www.cnblogs.com/lylife/p/5692912.html
Copyright © 2011-2022 走看看