zoukankan      html  css  js  c++  java
  • android中JSON例子一、 二

    JSON例子一  

    MainActivity.java中 核心代码

    private String jsonData = "{\"name\":\"Michael\",\"age\":20}";

    MainActivity.java
     1 import android.app.Activity;
     2 import android.os.Bundle;
     3 import android.view.View;
     4 import android.view.View.OnClickListener;
     5 import android.widget.Button;
     6 
     7 public class MainActivity extends Activity {
     8    private Button button = null;
     9    private String jsonData = "{\"name\":\"Michael\",\"age\":20}";
    10 
    11     public void onCreate(Bundle savedInstanceState) {
    12         super.onCreate(savedInstanceState);
    13         setContentView(R.layout.main);
    14         button = (Button)findViewById(R.id.buttonId);
    15         button.setOnClickListener(new ButtonListener());
    16     }
    17     
    18     private class ButtonListener implements OnClickListener{       
    19         public void onClick(View v){
    20             JsonUtils jsonUtils = new JsonUtils();
    21             jsonUtils.pareseUserFromJson(jsonData);
    22         }
    23     }
    24     
    25     
    26 }
    User.java
     1 public class User {    
     2     private String name;
     3     private String age;
     4 
     5     public String getName() {
     6         return name;
     7     }
     8     public void setName(String name) {
     9         this.name = name;
    10     }
    11     public String getAge() {
    12         return age;
    13     }
    14     public void setAge(String age) {
    15         this.age = age;
    16     }
    17 }

    JsonUtils.java

    import com.google.gson.Gson;
    
    public class JsonUtils {
    	public void pareseUserFromJson(String jsonData){
    		Gson gson = new Gson();
    		//第一个参数是一个Json数据
    		//第二个参数指定这个数据转换成哪个类的对象
    		User user = gson.fromJson(jsonData, User.class);
    		System.out.println("name--->" + user.getName());
    		System.out.println("age--->" + user.getAge());
    	}
    }
    

     完整代码见下载    _19_json02.rar

      

     

    JSON例子二

    MainActivity.java中 核心代码

     private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";

    MainActivity.java
     1 public class MainActivity extends Activity {
     2    private Button button = null;
     3    private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]";
     4 
     5     public void onCreate(Bundle savedInstanceState) {
     6         super.onCreate(savedInstanceState);
     7         setContentView(R.layout.main);
     8         button = (Button)findViewById(R.id.buttonId);
     9         button.setOnClickListener(new ButtonListener());
    10     }
    11     
    12     private class ButtonListener implements OnClickListener{       
    13         public void onClick(View v){
    14             JsonUtils jsonUtils = new JsonUtils();
    15             jsonUtils.pareseUserFromJson(jsonData);
    16         }
    17     }
    18     
    19     
    20 }
    User.java
     1 public class User {    
     2     private String name;
     3     private String age;
     4 
     5     public String getName() {
     6         return name;
     7     }
     8     public void setName(String name) {
     9         this.name = name;
    10     }
    11     public String getAge() {
    12         return age;
    13     }
    14     public void setAge(String age) {
    15         this.age = age;
    16     }
    17 }

    JsonUtils.java

    /**
     * 但如果要把JSON数组转换成一系列的User对象,那要怎么做?
     *
     */
    public class JsonUtils {
    	public void pareseUserFromJson(String jsonData){
    		 //此处TypeToken<LinkedList<User>>(){}为何有个大括号,因为他是个接口,但又没有要实现的类
    		
    		Type listType = new TypeToken<LinkedList<User>>(){}.getType();
    		Gson gson = new Gson();		//LinkedList 增删操作较多而查询操作很少的情况下
    		LinkedList<User> users = gson.fromJson(jsonData,listType);
    		for(Iterator iterator = users.iterator(); iterator.hasNext();){
    			User user = (User)iterator.next();
    			System.out.println("name--->" + user.getName());
    			System.out.println("age--->" + user.getAge());
    			
    		}
    	}
    }
    

      

      完整代码见下载   _19_json03.rar

     

  • 相关阅读:
    BZOJ 1597: [Usaco2008 Mar]土地购买
    BZOJ 1005: [HNOI2008]明明的烦恼
    BZOJ 1004: [HNOI2008]Cards
    Burnside引理和Polya定理
    BZOJ 1003: [ZJOI2006]物流运输
    BZOJ 1002: [FJOI2007]轮状病毒
    BZOJ 1001: [BeiJing2006]狼抓兔子
    网络流 最大流dinic算法解释
    51nod 1299 监狱逃离
    2017.11.26【清华集训2017】模拟
  • 原文地址:https://www.cnblogs.com/firecode/p/2479652.html
Copyright © 2011-2022 走看看