精华内容
下载资源
问答
  • 如何对基于fastjson的JSONArray判定为空? 在开发中,我们经常使用JSON格式进行数据的处理。fastjson是阿里巴巴开源的一款方便快捷的JSON格式...在代码中判断JSONArray是否为空可以使用如下方法: JSONArray demo...

    如何对基于fastjson的JSONArray判定为空?


    在开发中,我们经常使用JSON格式进行数据的处理。fastjson是阿里巴巴开源的一款方便快捷的JSON格式数据解析生成的插件。其源码地址位于https://github.com/alibaba/fastjson。通过MAVEN引入依赖即可调用。

    在代码中判断JSONArray是否为空可以使用如下方法:

    JSONArray demo = new JSONArray();
    demo != null && demo .size() > 0  //数组不为空
    demo == null || demo .size() == 0 //数组为空
    

    除上述方法外:

    有三种方式。
    首先要创建一个JSONArray对象:JSONArray jsonarray=new JSONArray ();
    方法一:判断对象是否为空 jsonarray!=null
    方法二:JSONArray是集合、数组可以用jsonarray.length()>0
    方法三:jsonarray.toString()是否是“”空字符串,!“”.equals(jsonarray.toString())
    一般用方法二就可以判断[]了,方法一和方法三结合使用

     

    展开全文
  • 错误信息 ## Error querying database....invalid comparison: com.alibaba.fastjson.JSONArray and java.lang.String 错误原因:在mybatis xml文件中的动态sql,if test 非空判断类型出错,把J...

    错误信息

    ## Error querying database.  
    Cause: java.lang.IllegalArgumentException: 
    invalid comparison: com.alibaba.fastjson.JSONArray and java.lang.String

    错误原因:在mybatis xml文件中的动态sql,if test 非空判断类型出错,把JSONArray与空串作比较,代码片段如下:

    jpg

    其中 items 为JSONArray,所以上面代码片段出错位置是 【items !='' '】

    即去掉 【and items != ''】

    参考

    展开全文
  • return时遇到com.alibaba.fastjson.JSONObject cannot be cast to com.alibaba.fastjson.JSONArray 今天做项目AOP统一异常监测遇到的问题: 提前剧透下,导致异常的原因是我们的controller层返回的数据类型为...

    return时遇到com.alibaba.fastjson.JSONObject cannot be cast to com.alibaba.fastjson.JSONArray

    今天做项目AOP统一异常监测返回结果遇到的问题:

    提前剧透下,导致异常的原因是我们的controller层返回的数据类型为JSONArray,而我们AOP切面增强方法的返回值类型是JSONObject,只需要将这两个返回值类型统一即可.

    下面介绍下我锁定位置的解决异常的方法,过程值得借鉴,不感兴趣的也可以浏览,哈哈

    之前都只正常的,怎末加了个异常监测就出现强转问题,研究半天也没找到哪里出现强转了,也百度了好多,都没涉及到
    没办法,还得靠自己,bebug吧!

    开始debug辛苦历程!!!

    终于锁定抛出异常的位置:AOP切面增强return时抛出的,
    解决思路:考虑是强转异常,我将所有构建数据都打印出来,看是否是json数据的问题,发现数据没问题,而且抛出的就是JSONObject强转成JSONArray出现的问题,确定json数据肯定没问题,

    继续debug!!!

    确定是在return的男一步出现的异常抛出,走啊走啊!终于出现异常抛出了,(平时看到很悲伤,现在看到很开心,无限个草泥马在心中奔腾而过)

    在这里插入图片描述

    确定问题所在,就完善吧!!!

    根据业务需求,要返回JSONObject类型数据,那就将controller层也统一返回JSONObject!

    具体思路

    在controller层方法中自定义个JSONObject数据,将service层返回的JSONArry数据put到这个JSONObject中,以便AOP增强方法获取,
    闹它!!!
    将我原来的controller层的方法粘贴下,与修改后做对比

    修改前:

    在这里插入图片描述

    修改后:

    在这里插入图片描述

    AOP切面增强也要进行判断,做出相应的处理:

    在这里插入图片描述
    如果想看同意异常处理,请移步到我的另一篇文章:
    https://blog.csdn.net/weixin_45015094/article/details/105675726?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158752865919725211921537%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=158752865919725211921537&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-1
    喜欢的,请顶一下,关注我吆!!!

    展开全文
  • 错误原因:在mybatis xml文件中的动态sql,if test 非空判断类型出错,把JSONArray与空串作比较,代码片段如下: **错误原因:**在mybatis xml文件中的动态sql,if test 非空判断类型出错,把JSONArray与空串作比较...

    错误原因:在mybatis xml文件中的动态sql,if test 非空判断类型出错,把JSONArray与空串作比较,代码片段如下:

    **错误原因:**在mybatis xml文件中的动态sql,if test 非空判断类型出错,把JSONArray与空串作比较,代码片段如下:

    
                 <if test="list != null and list !=''">
                  and  bp.id in
                    <foreach collection="list" item="item" index="index" open="("
                             separator="," close=")">
                        #{item}
                    </foreach>
                </if>
    

    其中 items 为JSONArray,所以上面代码片段出错位置是 【items !=’’ '】
    即去掉 【and items != ‘’】

    展开全文
  • Object obj = myJsonObj.get("xxxx"); if(obj instanceof JSONObject){ JSONObject jsonObject = (JSONObject) obj; }else if(obj instanceof JSONArray){ JSONArray jsonArray = (JSONArray) obj; }else{...
  • fastJson判断是JSONObject还是JSONArray

    千次阅读 2018-09-06 15:03:48
    问题描述:在获取json返回值变化的情况下(上层接口返回值定义为:若为一条数据以“{}”返回,若为多条以数组形式返回),在jsonObject还是jsonArray判断上有一定困难。   解决方法1: 直接判断getJsonArray(...
  • FastJSON没有提供直接判断一个JSON字符串是JSONObject或JSONArray的方法,因此,对于一个未知的JSON串,我们需要自行判断。 方法 String jsonStr = "{\"aaa\" : \"111\"}"; Object ...
  • fastjson如何判断JSONObject和JSONArray

    千次阅读 2018-09-29 14:29:00
    fastjson如何判断JSONObject和JSONArray 1、fastjson如何判断JSONObject和JSONArray,百度一下,教程还真不少,但是是阿里的fastjson的我是没有找到合适的方法。这里用一个还算可以的方法,算是实现...
  • 使用聚合数据的日历接口,发现返回的数据不规范。...try {//聚合数据在holiday时 有时为 JSONArray 有时为JSONObject 此处均转换为JSONArray object3 = JSONArray.parseArray(object2.getString("...
  • 1.字符串截取判断 使用字符串开始位置和结束位置 public static void main(String[] args) { String dataStr = "['ces':'dd']"; if (dataStr.startsWith("[") && dataStr.endsWith("]")) { System.out....
  • JAVA中 fastjson判断JSONObject是否为空 package com.map; import com.alibaba.fastjson.JSONObject; /** * 判断JSONObject是否为空 * @author luolei * @date 2019年2月14日 */ public class FastJSONTest ...
  • 下面是个json字符串 ,取名为firstJson { "DATA": [{ "id": "001", "title": "标题" ...我现在想要实现的是 判断 DATA 是一个单个json字符串还是有多个json字符串组成的List? public class tesdemo { p
  • fastjson 判断value是对象还是数组

    千次阅读 2019-06-18 11:03:43
    public static void main(String[] args) { String text = "{}"; Object obj = JSON.parse(text); if (obj instanceof JSONObject) { ... } if (obj instanceof JSONArray) { System.out.println("JSONArray"); } }
  • 引言 日常开发中经常需要对JSON字符串进行处理,处理的最多的... } else if ( object instanceof JSONArray) { JSONArray jsonArray = JSONObject.parseArray(jsonStr); } else { system.out.println("类型未知"); } }
  • fastjson中JSON.toJSON(Object javaObject)方法将一个java对象被序列化成json对象时,返回的对象类型有三种可能:JSONObject,JSONArray,原始类型(简单类型)。 最近在使用fastjson进行对java对象序列化和反序列化时,...
  • fastjson中jsonObject和jsonArray的区别以及部分API介绍 第一次发帖,纯手打。还是有些小紧张 相同的帖子千篇一律,手打的内容万里挑一。 数据格式 //JSONObject的数据是用 { } 来表示的 { “id”:“123”, “name”...
  • 这里使用的是fastJson作为json处理工具。 之前用jsonArray.size()>0, jsonArray.isEmpty(),jsonArray!=null。等都试过了,很容易出现空指针异常,等各种错误。所以总结了一套属于自己的规范,记录下来。 1.首先从...
  • 判断多层嵌套JSON数据中是否包含特定key 获取复杂json 某个指定key的值 添加依赖: <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <...
  • Jayway JsonPath A Java DSL for reading JSON documents. Jayway JsonPath is a Java port ofStefan Goessner JsonPath implementation. News 05 Jul 2017 - Released JsonPath 2.4.0 ...26 Jun 2017 - Released...
  • java判断JSON字符串是JSONObject或JSONArray import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; String xssJson = "{\"name\":\"\",\"age\":\...
  • 1.Fastjson ...我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object = JSON.parse(a); if (object instanceof JSONObject){ //JSON...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,093
精华内容 837
关键字:

fastjson判断jsonarray