jsonarray简单来说就是解析过程中生成的有序的值序列,在解析json字符串的过程中,会生成jsonarray对象,那jsonarray怎么判断是否为空?接下来我们就来给大家讲解一下这方面的内容。
一共有三种方式:
创建JSONArray jsonarray=new JSONArray ();
方法一:判断对象是否为空 jsonarray!=null
方法二:JSONArray是集合、数组可以用jsonarray.length()>0
方法三:jsonarray.toString()是否是“”空字符串,!“”.equals(jsonarray.toString())
jsonarray是什么?
JSONArray是一个有序的值序列。它的外部文本形式是一个用方括号括起来的字符串,用逗号分隔值。内部表单是具有索引的对象get和opt用于通过索引访问值的element方法,以及用于添加或替换值的方法。它的值可以是任何这些类型的: Boolean,JSONArray,JSONObject, Number,String,或 JSONNull object。
所以JSONArray就是["tom","kate","jerry"];或者[1,2,3]
同时,这里的数组json通过添加对象json可以变成数组对象json:
[{"name":"tom"},{"name":"kate"}]
构造函数可以将JSON文本转换为Java对象。该 toString方法转换为JSON文本。
甲get方法返回如果可以找到一个值,并且抛出异常如果不能找到。一个opt方法返回一个默认值,而不是抛出异常,所以是用于获得可选值是有用的。
泛型get()和opt()方法返回一个可以转换或查询类型的对象。还有一些类型 get和opt方法可以为您进行类型检查和输入coersion。
toString方法 生成的文本严格遵循JSON语法规则。
构造者在他们接受的文本中更宽容:
额外的, (逗号)可能出现在结束括号之前。
null当有, (逗号)省略时,将插入该值 。
字符串' 可以引用(单引号)。
如果字符串不以引号或单引号开头,并且如果它们不包含前导或尾随空格,并且它们不包含任何这些字符{ } [ ] / \ : , = ; #,则根本不需要引用它们: 如果它们看起来不像号,如果它们不是保留字true,false或null。
值可以用; (分号) 和, (逗号)分隔。
数字可以具有0- (八进制)或 0x- (十六进制)前缀。
使用斜杠,斜杠和散列约定编写的注释将被忽略。
实现
简化的用户类:
package com.sshmobai; import java.util.Date; public class User { private String username; private String password; private Date createdTime; public User() { super(); } public User(String username, String password) { super(); this.username = username; this.password = password; } public User(String username, String password, Date createdTime) { super(); this.username = username; this.password = password; this.createdTime = createdTime; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Date getCreatedTime() { return createdTime; } public void setCreatedTime(Date createdTime) { this.createdTime = createdTime; } @Override public String toString() { return "User [username=" + username + ", password=" + password + ", createdTime=" + createdTime + "]"; } }
测试
User user = new User("ssh", "mobai", new Date()); System.out.println(user); System.out.println(JSONObject.fromObject(user).toString());
结果
User [username=ssh, password=mobai, createdTime=Mon Jul 30 16:30:41 CST 2018] {"createdTime":{"date":30,"day":1,"hours":16,"minutes":30,"month":6,"seconds":41,"time":1532939441331,"timezoneOffset":-480,"year":118},"password":"mobai","username":"ssh"}
其实jsonarray就是json解析过程中生成的有序的值序列,另外,jsonarray判断是否为空可以参考以上的方法,一般用方法二就可以判断[]了,方法一和方法三结合使用。最后大家如果想要了解更多json相关知识,敬请关注奇Q工具网。
推荐阅读: