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

原创 2016年08月29日 10:00:40

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>

版权声明:本文为博主原创文章,如转载,请标明出处。

相关文章推荐

Android开发-FragmentTransaction-Fragment增加隐藏显示-完整Demo-AndroidStuidio

Demo重点:Fragment切换前后,保留FragmentTwo中TextView的内容。 manifests.xml: xml version="1.0" encoding="utf-8"...

Android开发-Volley-解析Json使用方法-4-完整Demo-AndroidStudio

AndroidManifest.xml: xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.c...

Android开发-Volley-解析Json使用方法-2-完整Demo-AndroidStudio

Android开发-Volley-解析Json使用方法-2-完整Demo-AndroidStudio 区别于 Android开发-Volley-解析Json使用方法-完整Demo-AndroidSt...

Android开发之JSON数据解析详解(二)

在上一篇我们讲解了Android开发JSON的基本介绍以及JSON的数据结构等, 今天我们来讲解一下JSON的工作原理以及基本用法: JSON解析分为两种情况,一种是在服务器端解析,另一种是在客户端解...

Android开发之解析JSon数据(二)

跟XML类似,JsonReader也可以解析文件中的JSon数据,下面的例子是从帮忙文档中取下来的 首先创建一个《JsonFile.txt》文件,JSon数据如下 [ { "id"...

Android开发Json数据

  • 2015年08月16日 16:18
  • 623KB
  • 下载

Android开发案例:网络交互&XML与json数据解析&HttpUtil优化

本文主要介绍如何在手机端使用http协议和服务器端进行网络交互,并对服务器返回的xml和json数据进行解析,并对HttpUtil网络操作方法优化进行了介绍。...

Android开发--Json数据的解析

在执行解析数据之前,需要将一个类库应用到你的程序中,下载的地址是: http://code.google.com/p/google-gson/  下载解压之后你需要将蓝色标记的文件放入到你的程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发-Json(二)Json数据的解析-完整Demo-AndroidStuidio
举报原因:
原因补充:

(最多只允许输入30个字)