您的位置:首页 > 移动开发 > Android开发

Android上解析Json格式数据

2013-07-31 09:56 477 查看
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();
}
}
}


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这条即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: