数据存储(三)

来源:互联网 发布:思途旅游cms 编辑:程序博客网 时间:2024/06/05 19:17

上一期JSON用于本地存储,这一期主要是JSON数据解析,本期解析用的Google.gson包

主窗口:MainActivity.java

package com.example.json_05;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity  implements OnClickListener{private Button myButton = null;private String jsonData = "[{\"name\":\"xiebangyuan\",\"age\":21},{\"name\":\"zhaochao\",\"age\":24}]";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);myButton = (Button)findViewById(R.id.myButton);myButton.setOnClickListener(this);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubJsonUtils jsonUtils = new JsonUtils();jsonUtils.parse(jsonData);}}


JsonUtils.java

package com.example.json_05;import java.lang.reflect.Type;import java.util.Iterator;import java.util.LinkedList;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;public class JsonUtils {public void parse(String jsonData){/*Gson gson = new Gson();User user = gson.fromJson(jsonData, User.class);System.out.println("name---->"+user.getName());System.out.println("age----->"+user.getAge());*/Type listType =  new TypeToken<LinkedList<User>>(){}.getType();Gson gson = new Gson();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());}}}

User类

package com.example.json_05;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;}}
从android3.0后android SDK有了自己的JsonReader类来解析JSON数据。本例用的google提供的API。


0 0
原创粉丝点击