您的位置:首页 > 产品设计 > UI/UE

Android开发-Json(二)Json数据的解析-完整Demo-AndroidStuidio

2016-08-29 10:00 701 查看


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