pinganjiankang

java代码解析json对象获取json对象属性值

说明:解析JSON需要用到 org.json.jar 架包,下载地址:http://download.csdn.net/detail/wtingting5211314/7641749

 

代码如下:

 

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

 

分类:

技术点:

相关文章: