MainAvtivity.java:
package com.iwanghang.jsondemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.widget.TextView; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * 学习视频 * http://edu.csdn.net/course/detail/2295/39399?auto_start=1 */ public class MainActivity extends AppCompatActivity { private TextView showText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showText = (TextView) findViewById(R.id.showText); showText.setText("我是JsonObject,我是无序的:"); showText.append("\n"); showText.append(createJsonObject()); showText.append("\n\n"); showText.append("我是JsonArray,我是有序的:"); showText.append("\n"); showText.append(createJsonArray()); showText.append("\n\n"); showText.append("我是JsonArray+JsonObject:"); showText.append("\n"); showText.append(createJsonArrayObject()); showText.append("\n\n"); showText.append("我解析JsonObject:"); showText.append("\n"); showText.append(parseJsonObject(createJsonObject())); showText.append("\n\n"); showText.append("我解析JsonArray:"); showText.append("\n"); showText.append(parseJsonArray(createJsonArray())); showText.append("\n\n"); } private String createJsonObject(){ JSONObject jsonObject = new JSONObject(); try { jsonObject.put("name","iwanghang"); jsonObject.put("age","18"); } catch (JSONException e) { e.printStackTrace(); } return jsonObject.toString(); } private String createJsonArray(){ JSONArray jsonArray = new JSONArray(); //jsonArray.put("aaa"); //jsonArray.put("bbb"); JSONObject jsonObject2 = new JSONObject(); try { jsonObject2.put("name","iwanghang1"); jsonObject2.put("age","6"); } catch (JSONException e) { e.printStackTrace(); } JSONObject jsonObject3 = new JSONObject(); try { jsonObject3.put("name","iwanghang2"); jsonObject3.put("age","7"); } catch (JSONException e) { e.printStackTrace(); } jsonArray.put(jsonObject2); jsonArray.put(jsonObject3); return jsonArray.toString(); } private String createJsonArrayObject(){ JSONArray jsonArray = new JSONArray(); jsonArray.put("iwanghang3"); jsonArray.put("iwanghang4"); JSONObject jsonObject2 = new JSONObject(); try { jsonObject2.put("name","iwanghang5"); jsonObject2.put("age","8"); } catch (JSONException e) { e.printStackTrace(); } JSONObject jsonObject3 = new JSONObject(); try { jsonObject3.put("name","iwanghang6"); jsonObject3.put("age","9"); } catch (JSONException e) { e.printStackTrace(); } jsonArray.put(jsonObject2); jsonArray.put(jsonObject3); return jsonArray.toString(); } /** * 解析JsonObject */ private String parseJsonObject(String object){ String returnString = ""; try { JSONObject jsonObject4 = new JSONObject(object); String name = jsonObject4.optString("name"); String age = jsonObject4.optString("age"); if(!TextUtils.isEmpty(name)) { returnString+="name:"+name; returnString+="|"; } if(!TextUtils.isEmpty(age)) { returnString+="age:"+age; } } catch (JSONException e) { e.printStackTrace(); } return returnString; } /** * 解析JsonArray */ private String parseJsonArray(String array){ String returnString2 = ""; try { JSONArray jsonArray2 = new JSONArray(array); System.out.println("jsonArray2.toString() = " + jsonArray2.toString()); System.out.println("jsonArray2.length() = " + jsonArray2.length()); for(int i=0;i<jsonArray2.length();i++) { System.out.println("i = " + i); JSONObject jsonObject5 = jsonArray2.optJSONObject(i); System.out.println("jsonObject5 = " + jsonObject5); System.out.println("parseJsonObject(jsonObject5.toString()) = " + parseJsonObject(jsonObject5.toString())); returnString2+=parseJsonObject(jsonObject5.toString())+"\n"; } } catch (JSONException e) { e.printStackTrace(); } return returnString2; } }activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.iwanghang.jsondemo.MainActivity"> <TextView android:id="@+id/showText" android:textSize="25sp" android:textColor="#000000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>