JSON学习
JSON是一种与开发语言无关的、轻量级的数据格式。全称JavaScript Object Notation。
优点:易于人的阅读编写,易于程序解析与生产
json样例:
{ "name":"sdx", "sex":"male", "age":22, "where":{ "country":"China", "city":"penglai" } }
数据结构:Object,Array
基本类型:String,number,true,false,null
数据结构-Object
使用{}包含的键值对结构,key必须是String类型,value可以是任意的基本类型或数据结构
数据结构-Array
使用 [ ] 来起始,并用逗号隔开元素。
使用GSON转换
在pom.xml中插入以下依赖:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
将list转换成json格式:
Gson gson = new Gson(); List<Person> persons = new ArrayList<Person>(); for (int i = 0; i < 10; i++) { Person p = new Person(); p.setName("name" + i); p.setAge(i * 5); persons.add(p); } String str = gson.toJson(persons);
将json转换成单一实体类:
Person person = gson.fromJson(str, Person.class);
将json转换成列表类型:
List<Person> ps = gson.fromJson(str, new TypeToken<List<Person>>(){}.getType()); for(int i = 0; i < ps.size() ; i++) { Person p = ps.get(i); System.out.println(p.toString()); }
上面的代码使用了TypeToken,它是gson提供的数据类型转换器,可以支持各种数据集合类型转换。