net.sf.json处理一个纯JSON数组要转化为一个List类型
例如:{"userIds":[1000000,1000001]},将其转化为一个Integer的数组
1 package com.json.test; 2 3 import java.util.List; 4 5 import net.sf.json.JSONArray; 6 import net.sf.json.JSONException; 7 import net.sf.json.JSONObject; 8 9 public class JSONTest { 10 11 public static void main(String[] args) { 12 String json = "{\"userIds\":[1000000,1000001]}"; 13 try { 14 JSONObject json_test = JSONObject.fromObject(json); 15 Object userIds = json_test.get("userIds"); 16 JSONArray jArray = JSONArray.fromObject(userIds); 17 List data = jArray.toList(jArray);//该方法已过时 18 for (Object object : data) { 19 System.out.println(object); 20 } 21 // 创建JSON解析对象(两条规则的体现:中括号用JSONArray,注意传入数据对象) 22 // 取得数组长度 23 int length = jArray.size(); 24 // 回想数组的取值的方式? --->for循环遍历数组--->得到值 25 for (int i = 0; i < length; i++) { 26 // 根据解析的数据类型使用该类型的get方法得到该值,打印输出 27 String string = jArray.getString(i); 28 System.out.println(string); 29 } 30 } catch (JSONException e) { 31 } 32 } 33 34 }
参考:java中string与json互相转化:http://blog.csdn.net/miaozhenzhong/article/details/52585726
小结:
如果在开发中接受前端传入的JSON对象,建议以对象传入,处理完结果也以对象传出,万物皆对象嘛!
private List<Integer> userIds;直接以一个对象接受更方便。