zoukankan      html  css  js  c++  java
  • Android上解析Json格式数据

     1 package com.practice.json;
     2 
     3 import org.json.JSONArray;
     4 import org.json.JSONException;
     5 import org.json.JSONObject;
     6 
     7 import android.app.Activity;
     8 import android.os.Bundle;
     9 import android.util.Log;
    10 
    11 public class JsonDemo extends Activity {
    12     /*
    13      * 解析JSON的例子,str保存的是JSON代码,解析后的数据在LogCat里输出 
    14     */
    15     
    16     String TAG = "Json message";
    17     
    18     @Override
    19     public void onCreate(Bundle savedInstanceState) {
    20         super.onCreate(savedInstanceState);
    21         setContentView(R.layout.main);
    22         detectJSON();
    23     }
    24     
    25     private void detectJSON() {
    26         String str = "{"+
    27         
    28           ""日期" : "2011-06-06","+
    29 
    30           //Like 是 JSONObject
    31           ""Like" : {"+
    32             ""Name" : "加内特","+
    33             ""Height" : "2.11cm","+ 
    34             ""Age" : 35"+
    35           "},"+
    36         
    37           //LikeList 就是一个 JSONObject
    38           ""LikeList":" +
    39               "{"List": " +
    40               "["+
    41                     //这里也是JSONObject
    42                   "{"+
    43                     ""Name" : "Rose","+
    44                     ""Height" : "190cm","+ 
    45                     ""Age" : 23"+
    46                   "},"+
    47                   //这里也是JSONObject
    48                   "{"+
    49                     ""Name" : "科比","+
    50                     ""Height" : "198cm","+ 
    51                     ""Age" : 33"+
    52                   "}"+
    53               "]"+
    54               "}"+
    55           "}";
    56         
    57         try {
    58             JSONObject dataJson = new JSONObject(str);
    59             Log.d(TAG, dataJson.getString("日期"));
    60             
    61             JSONObject nbaJson = dataJson.getJSONObject("Like");
    62         
    63             Log.d(TAG, nbaJson.getString("Name"));
    64             Log.d(TAG, nbaJson.getString("Height"));
    65             Log.d(TAG, nbaJson.get("Age").toString());
    66             
    67             JSONObject listJson = dataJson.getJSONObject("LikeList");
    68             JSONArray arrayJson = listJson.getJSONArray("List");
    69             
    70             for(int i=0;i<arrayJson.length();i++) {
    71                 
    72                 JSONObject tempJson = arrayJson.optJSONObject(i);
    73                 
    74                 Log.d(TAG, tempJson.getString("Name"));
    75                 Log.d(TAG, tempJson.getString("Height"));
    76                 Log.d(TAG, tempJson.getString("Age").toString());    
    77             }
    78             
    79             
    80         } catch (JSONException e) {
    81             System.out.println("Something wrong...");
    82             e.printStackTrace();
    83         }
    84     }
    85 }
    View Code

    测试代码通过

    Add following code to AndroidManifest.
    <instrumentation android:name="android.test.InstrumentationTestRunner"
              android:targetPackage="your.package"
              android:label="your tests label" />
    <uses-library android:name="android.test.runner" />

    - Right click project on Project Explorer Panel on Eclipse, then click "Run" > "Run Configurations...", then select "android.test.InstrumentationTestRunner" in Instrumentation TestRunner.

    does not declare uses-library android.test.runner

    在平时Android开发时突然执行程序,出现了 Application does not specify a
    android.test.InstrumentationTestRunner instrumentation or does not declare
    uses-library android.test.runner的错误提示,这主要是你再Run As中错误的选择了目标为Android JUnit
    Test这项导致的,解决的方法也很简单在Run Dialog中删除JUnit Test这条即可。


    END
    ---------------------------------------------------------------------------------------------
    欢迎关注 我的微博@疯狂的迈步 我的github@junhey
  • 相关阅读:
    二分查找
    bracketed-paste-magic:zle:41: not enough arguments for -U
    逗号表达式返回值
    requestAnimationFrame实现一帧的函数节流
    phaser常用API总结
    table表头固定问题
    接口防刷的方法
    雪碧图background-position的rem用法
    sphinx 增量索引与主索引使用测试
    msysgit ls 中文显示
  • 原文地址:https://www.cnblogs.com/junhey/p/3227098.html
Copyright © 2011-2022 走看看