JSONArray是一个有序的值序列。它的外部文本方式是一个用方括号括起来的字符串,用逗号分隔值。内部表单是具有索引的目标get和opt用于经过索引访问值的element办法,以及用于增加或替换值的办法。它的值能够是任何这些类型的:Boolean,JSONArray,JSONObject,Number,String,或JSONNullobject。
所以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-(十六进制)前缀。
运用斜杠,斜杠和散列约定编写的注释将被疏忽。
完成
简化的用户类:
packagecom.sshmobai;
importjava.util.Date;
publicclassUser{
privateStringusername;
privateStringpassword;
privateDatecreatedTime;
publicUser(){super();}
publicUser(Stringusername,Stringpassword){
super();
this.username=username;
this.password=password;
}
publicUser(Stringusername,Stringpassword,DatecreatedTime){
super();
this.username=username;
this.password=password;
this.createdTime=createdTime;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicDategetCreatedTime(){
returncreatedTime;
}
publicvoidsetCreatedTime(DatecreatedTime){
this.createdTime=createdTime;
}
@Override
publicStringtoString(){
return”User[username=”+username+”,password=”+password+”,createdTime=”+createdTime+”]”;
}
}
测验
Useruser=newUser(“ssh”,”mobai”,newDate());
System.out.println(user);
System.out.println(JSONObject.fromObject(user).toString());
结果
1
2
User[username=ssh,password=mobai,createdTime=MonJul3016:30:41CST2018]
{“createdTime”:{“date”:30,”day”:1,”hours”:16,”minutes”:30,”month”:6,”seconds”:41,”time”:1532939441331,”timezoneOffset”:-480,”year”:118},”password”:”mobai”,”username”:”ssh”}
jsonarray转list对象
son格式
{userId:’1′,message:’2′,create_time:’2020-03-2820:58:11′,create_date:’2020-03-28′}
JAVA对象
ChatDTO.java
publicclassChatDTO{
privateStringuserId;
privateStringmessage;
privateStringcreateDate;
privateStringcreateTime;
}<br><br>……<br>getset方法
调用方法
JSONObjectobject=JSONObject.fromObject(json);//先转成json对象
ChatDTOchatDTO=(ChatDTO)JSONObject.toBean(object,ChatDTO.class);
JSON数组转集合(JSONArray转list)
Listlist=(List)JSONArray.toCollection(jsonArray);
集合(List)转JSON数组
JSONArrayarray=JSONArray.fromObject(list)