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

     

  • 相关阅读:
    P1363-幻象迷宫
    P1582-倒水
    P2123-皇后游戏
    P1233-木棍加工
    P1052-过河
    P1541-乌龟棋
    P1736-创意吃鱼法
    P1417-烹调方案
    LeetCode--043--字符串相乘(java)
    LeetCode--041--缺失的第一个整数(java)
  • 原文地址:https://www.cnblogs.com/firecode/p/2479652.html
Copyright © 2011-2022 走看看