JSONArray
json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的
JSONArray的四种创建方式
第一种 直接创建一个JSONArray
JSONArray jsonArray = new JSONArray().element("JSON").element("1").element("2.0").element("true");
第二种 使用Collection来创建一个JSONArray
List list = new ArrayList();
li( "1" );
li( "2" );
li( "3" );
li( "4" );
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( list );
第三种 使用一个Array来创建一个JSONArray
Object[] array = new Object[] { "1", 2, 3, true };
JSONArray jsonArray = JSONArray.fromObject(array);
或者:
Object[] array = new Object[] { "JSON", 1, 2, true };
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(array);
第四种 使使用一个JSON格式化字符串来创建一个JSONArray
String str = "['JSON', 1, 2, true]"; //注意该字符串的格式"[ ,]"
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( str );
JSONArray中一些常用的方法
1)add方法:往JSONArray中添加元素
2)addAll方法:
j(jsonArray);//添加另一个JSON数组(可以指定数组的位置添加元素)
j(list);//添加集合
3)clear方法:清除所有的元素
4)compareTo方法:比较俩个字符数组,只比较数据的值不比较数据类型
["1",2,3,true] 和["1",2,3,"true"]比较结果为:1
5)contains方法:是否包含某个对象
6)containsAll:是否包含某个集合
7)discard方法:删除集合中的某个元素
[1,2,2,true] j(1)结果为:[1,2,true]删除的为jsonArray[1]
8)element方法:添加元素
9)getJSONArray(index)和getJSONObject(index):获取数组中的JSONArray和JSONObject
以上是常用的方法,需要了解更多可以自己写代码测试一下
JSONArray中一些简单的应用
提取json中某个数组的所有值
String s = "{\"学生\":\"a\",\"老师\":[\"张三\",\"李四\"]}";
JSONObject jsonObject = JSONObject.fromObject(s);
JSONArray family = j("老师");
for (int i = 0; i < (); i++) {
String s1 = (String) (i);
Sy("老师:" + s1);
}
通过JavaBean将JsonArray转化为list集合
jsonArray: [{"name":"张三","age":"20"},{"name":"李四","age":"19"}]
新建一个people的实体类,属性有姓名和年龄
peopleList= (List<People>) j(People, .class);
可以装换为List数组
判断字符串是JSONObject还是JSONArray
String s = "{\"学生\":\"a\",\"老师\":[\"张三\",\"李四\"]}";
Object json = new JSONTokener(s).nextValue();
if(json instanceof JSONObject){
JSONObject jsonObject = (JSONObject)json;
Sy("jsonObject");
}else if (json instanceof JSONArray){
JSONArray jsonArray = (JSONArray)json;
Sy("jsonArray");
}
这里就举几个简单例子,大家有更好的例子可以分享在评论里面。喜欢的可以点下关注,点拨关注不迷路,谢谢大家的支持,一起学习,一起进步。