JSON解析在Android的 - 从资源文件夹 [英] JSON Parsing in android - from resource folder

查看:180
本文介绍了JSON解析在Android的 - 从资源文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在资源/原材料文件夹,在Eclipse中保存一个文本文件中。我这里显示该文件的内容:

  {
    分类:{
        类别: [
            {
                cat_id:3,
                cat_name:测试
            },
            {
                cat_id:4,
                cat_name:TEST1
            },
            {
                cat_id:5,
                cat_name:TEST2
            },
            {
                cat_id:6,
                cat_name:TEST3
            }
        ]
    }
}
 

我要分析此JSON数组。我怎样才能做到这一点?

任何人都可以请帮我吗?

在此先感谢。

解决方案

  //获取数据从文本资源文件包含JSON数据。
InputStream中的InputStream = getResources()openRawResource(R.raw.json)。
ByteArrayOutputStream byteArrayOutputStream =新ByteArrayOutputStream();

INT点击率;
尝试 {
    CTR = inputStream.read();
    而(CTR!=  -  1){
        byteArrayOutputStream.write(CTR);
        CTR = inputStream.read();
    }
    inputStream.close();
}赶上(IOException异常E){
    e.printStackTrace();
}
Log.v(文本数据,byteArrayOutputStream.toString());
尝试 {
    //解析数据到JSONObject的获取原始数据以JSON形式。
    JSONObject的jObject =新的JSONObject(
            byteArrayOutputStream.toString());
    JSONObject的jObjectResult = jObject.getJSONObject(分类);
    JSONArray jArray = jObjectResult.getJSONArray(类);
    字符串cat_Id =;
    字符串cat_name =;
    ArrayList的<的String []>数据=新的ArrayList<的String []>();
    的for(int i = 0; I< jArray.length();我++){
        cat_Id = jArray.getJSONObject(ⅰ).getString(cat_id);
        cat_name = jArray.getJSONObject(ⅰ).getString(cat_name);
        Log.v(猫ID,cat_Id);
        Log.v(猫名字,cat_name);
        data.add(新的String [] {cat_Id,cat_name});
    }
}赶上(例外五){
    e.printStackTrace();
}
 

I've a kept one text file in res/raw folder in eclipse. I am showing here the content of that file:

{
    "Categories": {
        "Category": [
            {
                "cat_id": "3",
                "cat_name": "test"
            },
            {
                "cat_id": "4",
                "cat_name": "test1"
            },
            {
                "cat_id": "5",
                "cat_name": "test2"
            },
            {
                "cat_id": "6",
                "cat_name": "test3"
            }
        ]
    }
}

I want to parse this JSON array. How can I do this?

Can anybody please help me??

Thanks in advance.

解决方案

//Get Data From Text Resource File Contains Json Data.    
InputStream inputStream = getResources().openRawResource(R.raw.json);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

int ctr;
try {
    ctr = inputStream.read();
    while (ctr != -1) {
        byteArrayOutputStream.write(ctr);
        ctr = inputStream.read();
    }
    inputStream.close();
} catch (IOException e) {
    e.printStackTrace();
}
Log.v("Text Data", byteArrayOutputStream.toString());
try {
    // Parse the data into jsonobject to get original data in form of json.
    JSONObject jObject = new JSONObject(
            byteArrayOutputStream.toString());
    JSONObject jObjectResult = jObject.getJSONObject("Categories");
    JSONArray jArray = jObjectResult.getJSONArray("Category");
    String cat_Id = "";
    String cat_name = "";
    ArrayList<String[]> data = new ArrayList<String[]>();
    for (int i = 0; i < jArray.length(); i++) {
        cat_Id = jArray.getJSONObject(i).getString("cat_id");
        cat_name = jArray.getJSONObject(i).getString("cat_name");
        Log.v("Cat ID", cat_Id);
        Log.v("Cat Name", cat_name);
        data.add(new String[] { cat_Id, cat_name });
    }
} catch (Exception e) {
    e.printStackTrace();
}

这篇关于JSON解析在Android的 - 从资源文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆