1.Android中解析json程序代码

  1. Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下:

@Override

protected
void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

if (savedInstanceState ==
null) {

getSupportFragmentManager().beginTransaction()

.add(R.id.container,
new PlaceholderFragment()).commit();

}

//第一种方式:

String jsonString = "{\"id\":\"1378230362\",\"name\":\"360U1378230362\"}";

System.out.println(jsonString);

jsonString = "[" + jsonString +
"]";

try {

JsonReader reader = new JsonReader(new
StringReader(jsonString));

reader.beginArray();

while (reader.hasNext()) {

reader.beginObject();

while (reader.hasNext()) {

String tagName = reader.nextName();

if (tagName.equals("id"))
{

Toast.makeText(this,
"id:" + reader.nextString(), 1000).show();

System.out.println(reader.nextString());

} else
if (tagName.equals("name"))
{

Toast.makeText(this,
"name:" + reader.nextString(), 1000).show();

//System.out.println(reader.nextString());

}

}

reader.endObject();

}

reader.endArray();

} catch (Exception e) {

e.printStackTrace();

}

}

2
通过Android中的JSONObject的方式解析JSON数据

package com.example.jsontest2;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.Toast;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";

String value1 = null;

try {

// 将字符串转换成jsonObject对象

JSONObject myJsonObject = new JSONObject(jsonMessage);

// 获取对应的值

value1 = myJsonObject.getString("数学");

Toast.makeText(this, "value1:" + value1, 3000).show();

} catch (JSONException e) {}

System.out.println("value1=" + value1);

// JSONArray

jsonMessage = "[{'num':'成绩', '外语':88, '历史':65,
'地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}},"

+ "{'num':'兴趣', '外语':28, '历史':45,
'地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}},"

+ "{'num':'爱好', '外语':48, '历史':62,
'地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";

JSONArray myJsonArray;

try {

myJsonArray = new JSONArray(jsonMessage);

for (int i = 0; i < myJsonArray.length(); i++) {

// 获取每一个JsonObject对象

JSONObject myjObject = myJsonArray.getJSONObject(i);

// 获取每一个对象中的值

String numString = myjObject.getString("num");

int englishScore = myjObject.getInt("外语");

int historyScore = myjObject.getInt("历史");

int geographyScore = myjObject.getInt("地理");

// 获取数组中对象的对象

JSONObject myjObject2 = myjObject.getJSONObject("object");

String aaaString = myjObject2.getString("aaa");

System.out.println("aaaString=" + aaaString);

System.out.println("numString=" + numString);

System.out.println("englishScore=" + englishScore);

System.out.println("historyScore=" + historyScore);

System.out.println("geographyScore=" + geographyScore);

}

} catch (JSONException e) {

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

上一篇:使用Python抓取猫眼近10万条评论并分析


下一篇:Python 爬取大众点评 50 页数据,最好吃的成都火锅竟是它!