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

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

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

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

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);
        //
        //將文件轉(zhuǎn)化為流
        //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文件下的所有內(nèi)容變成輸入流
        try
        {
            //inputStream.available() 流的可利用長(zhǎng)度
            byte pp[] = new byte[inputStream.available()];
            //根據(jù)流的可利用長(zhǎng)度轉(zhuǎn)化為字節(jié)數(shù)組
            inputStream.read(pp);
            //將流里的數(shù)據(jù)讀到pp字節(jié)數(shù)組里
            inputStream.close();
            // 流中的資源使用完 關(guān)閉留
            String tt = new String(pp);
            //將byte字節(jié)數(shù)組轉(zhuǎn)成字符串
            //如果是亂碼 則String tt=new String(pp,"utf-8");或者gbk
            //如果實(shí)現(xiàn)不了 將json文件中的分號(hào)改為英文的逗號(hào)
            Log.e("aaaa", tt);
            JSONArray array = new JSonArray(tt);
            //將字符串轉(zhuǎn)成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();
        }
    }
}

補(bǔ)充步驟:解析帶中括號(hào)的{}

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

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

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

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ù)組[]

前幾個(gè)步驟都一樣只有最后一個(gè)步驟不一樣

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

JSONArray array = new JSonArray(tt);
//將字符串轉(zhuǎn)成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解析是開(kāi)發(fā)中最重要的,畢竟開(kāi)發(fā)中大多數(shù)數(shù)據(jù)都要經(jīng)過(guò)json解析,從而提高效率。最后大家如果想要了解更多json工具教程知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。


本文鏈接:

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

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

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

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