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

    结果:


  • 相关阅读:
    AOP
    资料
    有用快捷键
    Java中getResourceAsStream的用法
    【转载】URL编码与两次encodeURI
    maven 如何使用
    MyEclipse运行Java出错:could not find the main class:test.program will exit(导入项目)
    java集合的操作(set,Iterator)
    java类集框架(ArrayList,LinkedList,Vector区别)
    java线程控制安全
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7081443.html
Copyright © 2011-2022 走看看