json_TypeToken

来源:互联网 发布:邢台犀牛软件培训班 编辑:程序博客网 时间:2024/06/15 03:42
package com.example.day_18json_typetoken;


import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;


import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Gson gson=new Gson();
try {
InputStream inputStream = getAssets().open("json.json");

Type type=new TypeToken<List<Bean>>(){

}.getType();

//TypeToken的泛型是什么,就转成什么类型的
List<Bean> list=gson.fromJson(new InputStreamReader(inputStream,"utf-8"), type);
for (Bean bean : list) {
Toast.makeText(this, bean.toString(), 0).show();
System.out.println(bean.toString());
}


} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}



}




}

=====================================================================

/**
 * 
 */
package com.example.day_18json_typetoken;


import java.util.List;


/**
 * @author WJL
 * 
 */
public class Bean {
public String id;
public String name;
public List<Student> students;
@Override
public String toString() {
return "Bean [id=" + id + ", name=" + name + ", students=" + students + "]";
}


}

============================================================================

/**
 * 
 */
package com.example.day_18json_typetoken;


/**
 * @author WJL
 * 
 */
public class Student {


public String age;
public String id;
public String name;
public String sex;
@Override
public String toString() {
return "Student [age=" + age + ", id=" + id + ", name=" + name
+ ", sex=" + sex + "]";
}

}

0 0
原创粉丝点击