实现android上解析Json格式数据功能

实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧。

package com.practice.json;

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

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class JsonDemo extends Activity {
    /*
     * 解析JSON的例子,str保存的是JSON代码,解析后的数据在LogCat里输出 
    */
        
        String TAG = "Json message";
        
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        detectJSON();
    }
    
    private void detectJSON() {
            String str = "{"+
            
                  ""日期" : "2011-06-06","+

                  //Like 是 JSONObject
                  ""Like" : {"+
                    ""Name" : "加内特","+
                    ""Height" : "2.11cm","+ 
                    ""Age" : 35"+
                  "},"+
                
                  //LikeList 就是一个 JSONObject
                  ""LikeList":" +
                          "{"List": " +
                          "["+
                                    //这里也是JSONObject
                                  "{"+
                                    ""Name" : "Rose","+
                                    ""Height" : "190cm","+ 
                                    ""Age" : 23"+
                                  "},"+
                                  //这里也是JSONObject
                                  "{"+
                                    ""Name" : "科比","+
                                    ""Height" : "198cm","+ 
                                    ""Age" : 33"+
                                  "}"+
                          "]"+
                      "}"+
              "}";
            
            try {
                        JSONObject dataJson = new JSONObject(str);
                        Log.d(TAG, dataJson.getString("日期"));
                        
                        JSONObject nbaJson = dataJson.getJSONObject("Like");
                
                        Log.d(TAG, nbaJson.getString("Name"));
                        Log.d(TAG, nbaJson.getString("Height"));
                        Log.d(TAG, nbaJson.get("Age").toString());
                        
                        JSONObject listJson = dataJson.getJSONObject("LikeList");
                        JSONArray arrayJson = listJson.getJSONArray("List");
                        
                        for(int i=0;i<arrayJson.length();i++) {
                                
                                JSONObject tempJson = arrayJson.optJSONObject(i);
                                
                                Log.d(TAG, tempJson.getString("Name"));
                                Log.d(TAG, tempJson.getString("Height"));
                                Log.d(TAG, tempJson.getString("Age").toString());        
                        }
                        
                        
                } catch (JSONException e) {
                        System.out.println("Something wrong...");
                        e.printStackTrace();
                }
    }
}


原文来自:http://android.662p.com/thread-362-1-1.html

原文地址:https://www.cnblogs.com/luenmicro/p/3506745.html