«

json与gson互转

时间:2024-3-2 17:54     作者:韩俊     分类: Android


json与gson互转

导入gson.jar

bean:

public class Person {
private String name;
private int age;

/**
* @return the name
*/
public String getName() {
return name;
}

/**
* @param name
* the name to set
*/
public void setName(String name) {
this.name = name;
}

/**
* @return the age
*/
public int getAge() {
return age;
}

/**
* @param age
* the age to set
*/
public void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
return name + ":" + age;
}
}

Activity类

public class MainActivity extends Activity {

private Button json;
private Button gson;

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

json = (Button) findViewById(R.id.json);
gson = (Button) findViewById(R.id.gson);

json.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

// 对象转json
Gson gson = new Gson();
List<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 5; i++) {
Person p = new Person();
p.setName("name" + i);
p.setAge(i * 5);
persons.add(p);
}
String str = gson.toJson(persons);
Log.d(TAG, "json==>>>" + str);
}
});

gson.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {

// json转对象
Gson gson = new Gson();
String str = "[{"name":"xiaoming","age":22},{"name":"xiaowang","age":0}]";
List<Person> ps = gson.fromJson(str,
new TypeToken<List<Person>>() {
}.getType());
for (int i = 0; i < ps.size(); i++) {
Person p = ps.get(i);
Log.d(TAG, "gson==>>>" + p.toString());
}
//Person person = gson.fromJson(str, Person.class);
//Log.i(TAG, "gson==>>>" + person.toString());
}
});
}

}

标签: android

热门推荐