您好,歡迎來到賦能網(wǎng)!

jon數(shù)組怎么解析?jon數(shù)組解析方法

賦能網(wǎng) 2023-05-09 67

JSON數(shù)據(jù)現(xiàn)在是我們開發(fā)中用的最多的,大多數(shù)數(shù)據(jù)都是通過JSON方式進行傳輸并進行解析,這樣可以提高工作效率,那json數(shù)組怎么解析?下面來我們就來給大家講解一下。

package com.example.z111505;
import java.io.IOException;
import java.io.InputStream;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity
{
    TextView text;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (TextView) findViewById(R.id.mytxt);
        //
        //將文件轉化為流
        //InputStream inputStream=getResources().openRawResource(R.raw.j111502);
        ////input:輸入流
        //byte[] ppp;
        //try {
        // ppp = new byte[inputStream.available()];
        // inputStream.read(ppp);
        // String ttt=new String(ppp);
        //
        // inputStream.close();
        // text.setText(ttt);
        // //2. String ttt 取出value
        //
        // JSONObject jsonObject = new JSonObject(ttt);
        // String ggg=jsonObject.getString("ttt");
        // String gg2=jsonObject.getString("hhhh");
        // Toast.makeText(MainActivity.this, ggg, 1).show();
        //// Toast.makeText(MainActivity.this, gg2, 1).show();
        // //-----解析json數(shù)組
        //
        //
        //} catch (IOException e) {
        // // TODO Auto-generated catch block
        // e.printStackTrace();
        //} catch (JSONException e) {
        // // TODO Auto-generated catch block
        // e.printStackTrace();
        //}
        //
        //
        //====解析json數(shù)組
        InputStream inputStream = getResources()
            .openRawResource(R.raw.j111503);
        //把raw文件下的j111503文件下的所有內容變成輸入流
        try
        {
            //inputStream.available() 流的可利用長度
            byte pp[] = new byte[inputStream.available()];
            //根據(jù)流的可利用長度轉化為字節(jié)數(shù)組
            inputStream.read(pp);
            //將流里的數(shù)據(jù)讀到pp字節(jié)數(shù)組里
            inputStream.close();
            // 流中的資源使用完 關閉留
            String tt = new String(pp);
            //將byte字節(jié)數(shù)組轉成字符串
            //如果是亂碼 則String tt=new String(pp,"utf-8");或者gbk
            //如果實現(xiàn)不了 將json文件中的分號改為英文的逗號
            Log.e("aaaa", tt);
            JSONArray array = new JSonArray(tt);
            //將字符串轉成json數(shù)組
            for (int i = 0; i < array.length(); i++)
            {
                <
                p = "" >
                    String b0 = array.getString(i);
                //從數(shù)組里取出數(shù)組
                Log.e("aaaa", b0);
            }
        }
        catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

補充步驟:解析帶中括號的{}

第一步:將文件轉化為輸入流,并將輸入流存儲到字節(jié)數(shù)組里 關閉流

InputStream inputStream = getResources()
    .openRawResource(R.raw.j111502);
byte[] ppp = new byte[inputStream.available]
//根據(jù)流的可利用長度轉化為字節(jié)數(shù)組 inputStream.read(pp);
//將流里的數(shù)據(jù)讀到pp字節(jié)數(shù)組里
inputStream.close();

第二步:將字節(jié)數(shù)組轉化為字符串,

String ttt=new String(ppp);

第三步:用jsonobject的方式取出字符,并顯示

JSONObject jsonObject = new JSonObject(ttt);
String ggg = jsonObject.getString("ttt");
String gg2 = jsonObject.getString("hhhh");
Toast.makeText(MainActivity.this, ggg, 1)
    .show();
Toast.makeText(MainActivity.this, gg2, 1)
    .show();

第二種解析解析數(shù)組[]

前幾個步驟都一樣只有最后一個步驟不一樣

第三步:將得到的數(shù)據(jù)保存到jsonarray里面,用循環(huán)的方式讀取出來

JSONArray array = new JSonArray(tt);
//將字符串轉成json數(shù)組
for (int i = 0; i < array.length(); i++)
{
    < p = "" >
        String b0 = array.getString(i);
    //從數(shù)組里取出數(shù)組
    Log.e("aaaa", b0);
}

json數(shù)組解析方法就是以上這些,json解析是開發(fā)中最重要的,畢竟開發(fā)中大多數(shù)數(shù)據(jù)都要經(jīng)過json解析,從而提高效率。最后大家如果想要了解更多json工具教程知識,敬請關注賦能網(wǎng)。


本文鏈接:

本文章“jon數(shù)組怎么解析?jon數(shù)組解析方法”已幫助 67 人

免責聲明:本信息由用戶發(fā)布,本站不承擔本信息引起的任何交易及知識產(chǎn)權侵權的法律責任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓機構》培訓課程》學習資訊》課程優(yōu)惠》課程開班》學校地址等機構信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: