请问fastjson的JsonArray如何判断某个索引存在不存在啊?

尸情画意
  • 81
String str = "LVUDB11B4JF003378$null$K50EV$null$null";
Object obj = StringUtils.delimitedListToStringArray(str, "$");
JSONArray questionArray = JSONArray.parseArray(JSON.toJSONString(obj));
System.out.println(questionArray); //["LVUDB11B4JF003378","null","K50EV","null","null"]  
if(questionArray.getDouble(26) == null || "".equals(questionArray.getDouble(26))){

}
回复
阅读 1.2k
3 个回答

JSONArray 的源码,你会发现它有一个 size() 方法可以取其大小 size() - 1 就是最大索引。

韭菜哥来帮你了,

下面是源码

.版本 2
.支持库 spec

.子程序 _按钮2_被单击
.局部变量 a, 文本型, , "0"

a = 分割文本 (编辑框2.内容, “$”, )
.如果真 (取数组成员数 (a) ≤ 5)

信息框 (到文本 (取数组成员数 (a)) + “个  不存在第6个”, 0, , )
加入成员 (a, “赋予内容”)  ' '''''不存在第六个,给第六个赋值。

.如果真结束

.如果真 (取数组成员数 (a) > 5)

.如果真 (a [6] ≠ “”)
    信息框 (“第六个不是空的”, 0, , )
.如果真结束
.如果真 (a [6] ≠ “1222222222”)
    信息框 (“第六个不是1222222222”, 0, , )
    a [6] = “重新赋值”  ' '''''''''''存在第六个 并且不等于1222222222 则重新赋值
.如果真结束
.如果真 (a [6] = “1222222222”)
    信息框 (“第六个是1222222222”, 0, , )
    a [6] = “重新赋值”  ' '''''''''''存在第六个 并且等于1222222222 则重新赋值
.如果真结束

.如果真结束

调试输出 (取数组成员数 (a))

final List<String> strings = JSON.parseArray(str, String.class);
if (strings.contains("K50EV")) {
    // xxx
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏