zoukankan      html  css  js  c++  java
  • ANDROID_MARS学习笔记_S02_015_Gson解析json串为对象集合

    package com.example.s02_e12_json3;
    
    import java.lang.reflect.Type;
    import java.util.Iterator;
    import java.util.LinkedList;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    import com.google.gson.Gson;
    import com.google.gson.reflect.TypeToken;
    
    public class MainActivity extends Activity {
        private Button button = null;
        private String jsonData = "[{"name":"Michael","age":20},{"name":"Mike","age":21}]";
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            button = (Button)findViewById(R.id.buttonId);
            button.setOnClickListener(new ButtonListener());
        }
        
        private class ButtonListener implements OnClickListener{
    
            @Override
            public void onClick(View v) {
                JsonUtils jsonUtils = new JsonUtils();
                jsonUtils.getObjectsFromJson(jsonData);
            }
            
        }
        
        public class JsonUtils {
            public void getObjectsFromJson(String jsonData) {
                Type listType = new TypeToken<LinkedList<User>>(){}.getType();
                Gson gson = new Gson();
                LinkedList<User> users = gson.fromJson(jsonData, listType);
                for(Iterator it = users.iterator() ; it.hasNext() ; ) {
                    User user = (User) it.next();
                    System.out.println(user);
                }
            }
        }
        
        public class User {
            private String name;
            private int age;
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public int getAge() {
                return age;
            }
            public void setAge(int age) {
                this.age = age;
            }
            @Override
            public String toString() {
                return "User [name=" + name + ", age=" + age + "]";
            }
        }
    }
  • 相关阅读:
    leetcode【dynamic】【0】
    VIM 常用指令
    《Java多线程编程核心技术》笔记
    log4j配置文件详解
    CSU 1803 2016(同余公式)2016年湖南省第十二届大学生计算机程序设计竞赛
    NYOJ 1233 差值(字符串排序+大数减法)
    HDU 5723 Abandoned country(最小生成树+DFS)
    POJ 1451 T9 字典树
    POJ 2965 The Pilots Brothers' refrigerator 状态压缩+广搜
    POJ 1753 Flip game状态压缩+广搜
  • 原文地址:https://www.cnblogs.com/shamgod/p/5202264.html
Copyright © 2011-2022 走看看