Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下:
@Override protected super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == getSupportFragmentManager().beginTransaction() .add(R.id.container, } //第一种方式: String jsonString = "{\"id\":\"1378230362\",\"name\":\"360U1378230362\"}"; System.out.println(jsonString); jsonString = "[" + jsonString + try { JsonReader reader = new JsonReader(new reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); while (reader.hasNext()) { String tagName = reader.nextName(); if (tagName.equals("id")) Toast.makeText(this, System.out.println(reader.nextString()); } else Toast.makeText(this, //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, + "{'num':'兴趣', '外语':28, '历史':45, + "{'num':'爱好', '外语':48, '历史':62, 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; } } |