Json字符串转二维数组

 由于最近做帆软报表需要,自己百度了很久也没有找到合适的,干脆自己写一个吧,程序没有过多测试,有什么问题可以留言我。

 

注意:

传入的Json需要是由List<Object>转化而来的

例如:[{"name":"zhangsan","age":"20"},{"name":"lisi","age":"21"}]

得到的结果将是一个类似列表式的字符串二维数组

例:

name age
zhangsan 20
lisi 21

 

 

 

 

 

用到了fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.58</version>
</dependency>

代码:

 1     public static String[][] convert(String json) {
 2         String result[][] = null;
 3         String keys[] = null;
 4         List<String> keysList = new ArrayList<String>(10);
 5         JSONArray objects = JSONObject.parseArray(json);
 6 
 7         for (int i = 0; i < objects.size(); i++) {
 8             JSONObject jsonObject = objects.getJSONObject(i);
 9             Map<String, Object> map = jsonObject.getInnerMap();
10             Iterator<String> iter = map.keySet().iterator();
11             if (i == 0) {
12                 while (iter.hasNext()) {
13                     String key = iter.next();
14                     keysList.add(key);
15                 }
16                 keys = keysList.toArray(new String[keysList.size()]);
17                 result = new String[objects.size() + 1][keys.length];
18                 result[0] = keys;
19             }
20             for (int j = 0; j < keys.length; j++) {
21                 result[i + 1][j] = map.get(keys[j]).toString();
22             }
23         }
24         return result;
25     }

 

posted @ 2019-07-21 23:43  Zack.t  阅读(7156)  评论(0编辑  收藏  举报