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开发-Json(一)Json数据的生成-完整Demo-AndroidStuidio

MainActivity.java: package com.iwanghang.jsondemo; import android.support.v7.app.AppCompatActivi...
  • iwanghang
  • iwanghang
  • 2016年08月25日 16:47
  • 927

Andorid之Gson解析Json数据

Json类型数据可以通过Json官方提供的方法将Json字符串转化为对象类型,但是解析往往比较麻烦, Gson是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java ...
  • zml_2015
  • zml_2015
  • 2016年02月03日 14:51
  • 2953

Android开发中json数据解析工具类

-----------------------------------------------------用Android自带的JSONArray及JSONObject处理json数据--------...
  • true100
  • true100
  • 2015年03月24日 11:21
  • 1762

前台传过来的json数据,解析request

/** * 解析前台获得的交互数据 * @param request * @return * @throws IOException */ public static JSONObject...
  • yikong2yuxuan
  • yikong2yuxuan
  • 2017年04月13日 20:11
  • 1201

Android学习笔记(一)之解析本地json数据

private void readFromAssets() { try { InputStream is = getAssets().open("allChin...
  • UranusMe
  • UranusMe
  • 2016年10月28日 14:33
  • 4095

Android解析服务器返回的Json数据

服务器端的返回数据的servlet package servlet; import impl.JsonService; import java.io.IOException; import ...
  • sinat_27362429
  • sinat_27362429
  • 2015年04月22日 10:52
  • 958

java解析json数据(前台json数据封装后台springmvc解析)

业务:前台ajax传递json对象形式,json对象数组形式数据,传递后台,解析json数据 1.前台js封装json数据案例: //修改模板广告数据(对象数组形式json数据) var modify...
  • u014079773
  • u014079773
  • 2017年09月12日 12:46
  • 672

Android学习--封装成json数据和解析json数据

Android学习–封装成json数据和解析json数据参考博客:http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html(如果涉及...
  • shaoqianting
  • shaoqianting
  • 2015年05月14日 09:36
  • 1744

Spring MVC JSON数据交互-解析和返回JSON

首先要搭建一个Spring MVC的工程,可以参看我的另一篇博客:http://blog.csdn.net/qq245671051/article/details/47206331 Spring ...
  • QQ245671051
  • QQ245671051
  • 2015年08月02日 15:16
  • 2751

PHP接收POST数据,解析json数据

  • zlking02
  • zlking02
  • 2011年09月01日 13:41
  • 11941
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发-Json(二)Json数据的解析-完整Demo-AndroidStuidio
举报原因:
原因补充:

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