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

    结果:


  • 相关阅读:
    优化输出质数
    springboot嵌入式Servlet容器自动配置原理
    springboot中配置servlet三大组件
    springboot中springmvc的自定义配置
    springboot实现自定义国际化
    springboot错误处理机制及自定义错误处理
    SpringBoot对静态资源的映射规则
    docker中启动mysql容器
    Java函数式编程(一)
    java并发编程之美——高级篇(三)
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7081443.html
Copyright © 2011-2022 走看看