源码:

package com.wangzhu.demo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.content.Context;/** * JSON:JavaScript对象表示法(JavaScript Object Notation)。 <br/> * JSON是存储和交换文本信息的语法。<br/> *  * 特点:<br/> * JSON是轻量级的文本数据交换格式<br/> * JSON独立于语言和平台<br/> * JSON具有自我描述性,更以理解<br/> *  * 与XML的区别:<br/> * 类似XML,比XML更小、更快、更易解析<br/> * 没有结束标签<br/> * 更短<br/> * 读写的速度更快<br/> * 使用数组<br/> * 不使用保留字<br/> *  * JSON语法是JavaScript对象表示法语法的子集。<br/> * 数据在名称/值对中<br/> * 数据由逗号分隔<br/> * 花括号保存对象<br/> * 方括号保存数组<br/> *  * JSON值可以是:<br/> * 数字(正数或浮点数)<br/> * 字符串(在双引号中)<br/> * 逻辑值(true或false)<br/> * 数组(在方括号中)<br/> * 对象(在花括号中)<br/> * null<br/> *  * @author wangzhu * @date 2014年11月15日 下午11:37:38 */public class JSONUtils {    private Context context;    public JSONUtils(Context context) {        this.context = context;    }    /**     * 读取Json对象     */    public void readJsonObject() {        String json = readFile();        try {            JSONObject root = new JSONObject(json);            System.err.println("cat=" + root.getString("cat"));            JSONArray array = root.getJSONArray("language");            for (int i = 0; i < array.length(); i++) {                System.err.println("------------");                JSONObject object = array.getJSONObject(i);                System.err.println("id=" + object.getInt("id"));                System.err.println("ide=" + object.getString("ide"));                System.err.println("name=" + object.getString("name"));            }        } catch (JSONException e) {            e.printStackTrace();        }    }    /**     * 读取文件中的内容,文本编码方式为UTF-8     *      * @return     */    private String readFile() {        StringBuilder accum = new StringBuilder();        InputStreamReader isr = null;        BufferedReader br = null;        try {            isr = new InputStreamReader(context.getAssets().open(                    "testJson.json"), "UTF-8");            br = new BufferedReader(isr);            String line = null;            while ((line = br.readLine()) != null) {                accum.append(line);            }        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (br != null) {                try {                    br.close();                } catch (IOException e) {                    e.printStackTrace();                }            }            if (isr != null) {                try {                    isr.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        return accum.toString();    }    /**     * 创建Json对象     */    public void createJsonObject() {        try {            JSONObject root = new JSONObject();            root.put("cat", "it");            JSONArray array = new JSONArray();            JSONObject lan1 = new JSONObject();            lan1.put("id", 1);            lan1.put("ide", "Eclipse");            lan1.put("name", "Java");            array.put(lan1);            JSONObject lan2 = new JSONObject();            lan2.put("id", 2);            lan2.put("ide", "Xcode");            lan2.put("name", "Swift");            array.put(lan2);            JSONObject lan3 = new JSONObject();            lan3.put("id", 3);            lan3.put("ide", "Visual Studio");            lan3.put("name", "C#");            array.put(lan3);            root.put("language", array);            System.err.println("createJsonObject: " + root.toString());        } catch (JSONException e) {            e.printStackTrace();        }    }} 

截图:

Json文件:

执行结果:

2、创建Json对象

/**     * 创建Json对象     */    private void createJsonObject() {        try {            JSONObject root = new JSONObject();            root.put("cat", "it");            JSONArray array = new JSONArray();            JSONObject lan1 = new JSONObject();            lan1.put("id", 1);            lan1.put("ide", "Eclipse");            lan1.put("name", "Java");            array.put(lan1);            JSONObject lan2 = new JSONObject();            lan2.put("id", 2);            lan2.put("ide", "Xcode");            lan2.put("name", "Swift");            array.put(lan2);            JSONObject lan3 = new JSONObject();            lan3.put("id", 3);            lan3.put("ide", "Visual Studio");            lan3.put("name", "C#");            array.put(lan3);            root.put("language", array);            System.err.println("createJsonObject: " + root.toString());        } catch (JSONException e) {            e.printStackTrace();        }    }

执行结果:

更多相关文章

  1. android之ArrayAdaper之Spinner
  2. Android(安卓)保存浏览记录 SharedPreTools
  3. Android(Java):Android(安卓)jni源代码
  4. WeakReference 在android中的应用
  5. 服务器向Android写一个对象
  6. android skia 使用实例
  7. android之ArrayAdaper应用
  8. android sqlite 中文乱码。。麻烦详细点
  9. 箭头函数的基础使用

随机推荐

  1. android--系统体系结构
  2. [转]Android编译环境 - 编译Native C的he
  3. Eclipse IDE中Android新建项目打红叉的解
  4. android的ant编译打包
  5. Android基础 : Android(安卓)Service
  6. android启动过程及各个镜像间的关系
  7. Android中Socket的实例分析(一)
  8. android 的ViewPager的预加载机制及解决
  9. 【android 】进程、守护进程的实现及进程
  10. android 内外置SD卡的研究