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();
    		}
    		
    	}

    结果:


  • 相关阅读:
    解决linux下主机名变bogon的问题
    如何压缩虚拟机文件
    Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
    .NET ramework 4.0安装失败
    Oracle数据库密码过期
    MySQL max_allowed_packet设置及问题
    WPF 异步执行
    win8 无法显示桌面,运行explorer.exe 提示 0xc0000018 异常 解决办法
    最全的Spark基础知识解答
    数据处理包plyr和dplyr包的整理
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7081443.html
Copyright © 2011-2022 走看看