
举一个简单的例子:
一个实体类 Person.java,参考代码如下:
public 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
}
@Override
public String toString()
{
return name + ":" +age
}
}
这个类赋值,看看如何使用gson如何使用:
1.gson生成Json字符串
Gson gson = new Gson()//实例化gson
List<Person>persons = new ArrayList<Person>()
for (int i = 0i <10i++) {
Person p = new Person()
p.setName("name" + i)
p.setAge(i * 5)
persons.add(p)
}
String str = gson.toJson(persons)//转换json
说明:上面代码主要说明gson的使用,它提供了toJason()方法将对象转换成Json字符串,转换出来就是很标准的json字符串.
2.gson如何将json字符串转换成java实体类
Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法。
日常应用中,我们一般都会碰到两种情况,转成单一实体对象和转换成对象列表或者其他结构。
1)转换单一java实体如何实现
比如json字符串为:[{"name":"张三","age":20}],那么转换方式如下:
Person person = gson.fromJson(str, Person.class)
2)转换成列表类型
比如json字符串为:[{"name":"张三","age":20},{"name":"李四","age":15},{"name":"王五","age":21}]
List<Person>ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType())
for(int i = 0i <ps.size() i++)
{
Person p = ps.get(i)
System.out.println(p.toString())
}
说明:上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。
MySQLSQLite
Android Studio如何在项目中添加gson-2.2.3.jar?
标签: Android Android-Studio
我尝试使用新的Android Studio,但我似乎无法让它正常工作.
我使用Gson类库来序列化/反序列化JSON对象.但是类库不知何故无法包含在项目里.
我创建一个新的项目只用MainActivity.在/libs文件夹里复制gson-2.2.3.jar并添加它为一个类库.这样在android studio里包含了jar,因此它可以从源文件被引用.
当我试着运行项目,但是它无法被编译,所以我在.gradle文件里添加:
1
compile files('libs/gson-2.2.3.jar')
到依赖项里.然后我成功编译了项目,但是当我运行应用程序后,得到ClassDefNotFoundException异常.
解决方法 1:
把Gson jar(在我的项目里,是gson-2.2.4.jar)放入libs文件夹
右击它,然后点击 'Add as library'
确保编译文件('libs/gson-2.2.4.jar')在你的build.gradle文件里
注意:
第二步是关键步骤,如果漏了,将出现你无法运行的问题.
可以在项目中建一个文件夹,将jar包copy到文件夹中,然后在pom.xml 的 dependencies这样添加: yourjarName yourjarName-api system anyversion ${project.basedir}/lib/yourjar.jar欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)