说明:解析JSON需要用到 org.json.jar 架包

 

代码如下:

 

package com.ultrapower.syn.webservice.test;

import org.json.JSONArray;
import org.json.JSONObject;

public class TestJson {

 /**
  * @param args
  */
 public static void main(String[] args) {
  
  String JsonStr = "{data:["
            +"{id: '1', code: 'app1', name: 'app1', classifierId: 'Root', alterationType: '', parentId: '#', attributes: {} },"
            +"{id: '2', code: 'app1_db1', name: 'xx', classifierId: 'Catalog', alterationType: '', parentId: '1', attributes: {}},"
            +"{id: '3', code: 'edw', name: 'xx', classifierId: 'Schema', alterationType: '', parentId: '2', attributes: {}},"
            +"{id: '4', code: 'Table1', name: '表1', classifierId: 'Table', alterationType: '', parentId: '3', attributes: {}},"
            +"{id: '5', code: 'Column1', name: '字段1', classifierId: 'Column', alterationType: 'delete', parentId: '4', attributes: {length: 20, dataType: 'varchar'}},"
            +"{id: '6', code: 'Column2', name: '字段2', classifierId: 'Column', alterationType: 'add', parentId: '4', attributes: {length: 20, dataType: 'varchar'}}"
            +"]}";
  
  
  try {
   parseJsonToBeanInfo(JsonStr);
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }
 
 public static void parseJsonToBeanInfo(String JsonInfo) throws Exception {

  if(!"".equals(JsonInfo)&&JsonInfo!=null){
   
   //先把String 形式的 JSON 转换位 JSON 对象
   JSONObject json = new JSONObject(JsonInfo); 
   //得到 JSON 属性对象列表
   JSONArray jsonArray =json.getJSONArray("data");
   //遍历,得到属性值
   for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jo = jsonArray.getJSONObject(i);
    String id = jo.getString("id");
    String name = jo.getString("name");
    String parentId = jo.getString("parentId");
    String alterationType = jo.getString("alterationType");

    System.out.print("id is:"+id);
    System.out.print(" name is:"+name);
    System.out.print(" parentId is:"+parentId);
    System.out.println(" alterationType is:"+alterationType);
   } 
  } 
 }
}

运行结果如下:

id is:1 name is:app1 parentId is:# alterationType is:
id is:2 name is:xx parentId is:1 alterationType is:
id is:3 name is:xx parentId is:2 alterationType is:
id is:4 name is:表1 parentId is:3 alterationType is:
id is:5 name is:字段1 parentId is:4 alterationType is:delete
id is:6 name is:字段2 parentId is:4 alterationType is:add