zoukankan      html  css  js  c++  java
  • Android原生生成JSON与解析JSON

    JSON数据是一种轻量级的数据交换格式,在Android中通常应用于client与server交互之间的传输数据。像如今在网上有非常多解析JSON数据的jar包,可是归根究竟用的都是Android原生解析JSON数据的方式,所以掌握Android原生解析JSON数据的方法相当重要。

    以下分为生成JSON数据和解析JSON数据,所用的包是org.json

    (1)生成JSON数据方法:

    比方要生成一个这种json文本  

       {  

         "phone" : ["12345678", "87654321"],    //数组

         "name" : "dream9", // 字符串  

          "age" : 100, // 数值  

         "address" : { "country" : "china", "province" : "guangdong" }, // 对象  

          

        }  

    try {
    			JSONObject obj = new JSONObject(); // 首先创建一个对象
    			JSONArray phone = new JSONArray(); // 加入数据到数组中序号是从0递增的
    			phone.put("12345678");
    			phone.put("87654321");
    			obj.put("phone", phone);
    			obj.put("name", "dream9");
    			obj.put("age", 100);
    			JSONObject address = new JSONObject();
    			address.put("country", "china");
    			address.put("province", "jiangsu");
    			obj.put("address", address);
    			Log.e("huang", obj.toString());

    结果:



    (2)解析JSON数据方法(以上面那个为例):

    private void anaylse(String data){
    		try {
    			JSONObject obj = new JSONObject((String)data);
    			JSONArray phone = obj.getJSONArray("phone");
    			for(int t=0; t<phone.length(); ++t){
    				Log.e("huang", phone.getString(t));      //解析phone数组
    			}
    			Log.e("huang", obj.getString("name"));
    			Log.e("huang", obj.getInt("age")+"");
    			JSONObject o = obj.getJSONObject("address");
    			Log.e("huang", o.getString("country"));
    			Log.e("huang", o.getString("province"));
    		} catch (JSONException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}

    结果:


  • 相关阅读:
    RTTI机制
    QT 实现 QTabWidget 的多个Tab宽度之和 等于 TabWidget 的宽度
    安装QT
    给QT 程序的EXE文件添加图标
    OceanBase使用libeasy原理源码分析:服务器端
    libev 源码浅析
    [转载]CAP理论十二年回顾:"规则"变了
    replication 技术摘要
    函数调用和函数返回 栈变化情况
    The Secret To 10 Million Concurrent Connections The Kernel Is The Problem, Not The Solution
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7081443.html
Copyright © 2011-2022 走看看