首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

json数据解析2

2012-06-27 
json数据解析二这一篇我们将采用Gson类来解析json数据。把json解析出的数据传递给Person对象,这样我们就可

json数据解析二

这一篇我们将采用Gson类来解析json数据。把json解析出的数据传递给Person对象,这样我们就可以从Person对象中获得我们想要的数据。

在res/layout/main.xml中添加一个Button按钮:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><Button    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="开始json数据解析"    android:id="@+id/button"    /></LinearLayout>?

?

由于为了方便,我把用到的类写在了一个java文件里面,代码如下:

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.widget.Button;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;public class JsonTestMy1 extends Activity {    private String JsonData = "[{"name":"huangwei","age":24,"name":"lisi","age":36}]";private Button button = null;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        button = (Button) findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {JsonUtils.paresJsonData(JsonData);}});    }}class JsonUtils {public static void paresJsonData(String str){//通过TypeToken对象获取type对象,由于TypeToken对象中的构造方法都是受保护的,//所以我们要生成TypeToken的实例通过TypeToken的getType()方法获取Type对象Type type = new TypeToken<LinkedList<Person>>(){}.getType();Gson gson = new Gson();LinkedList<Person> persons = gson.fromJson(str, type);for(Iterator<Person> iterator = persons.iterator();iterator.hasNext();){Person person = iterator.next();System.out.println(person.toString());}}}class Person {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;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}}

以上就完成了简单的json数据的解析,并把数据放到一个javabean中,当然复杂的数据解析也是这个道理。?

热点排行
Bad Request.