1. Json数据样例
{
name: 'coderczh',
address: {
province: '浙江省',
city: '杭州市'
}
hobby: ['听歌', '看电影']
}
2. Spring Boot代码
@RestController
public class GsonController {
@GetMapping(value = "/demo", produces = "application/json;charset=UTF-8")
public String demo() {
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "coderczh");
JsonObject jsonObject1 = new JsonObject();
jsonObject1.addProperty("province", "浙江省");
jsonObject1.addProperty("city", "杭州市");
jsonObject.add("address", jsonObject1);
JsonArray jsonArray = new JsonArray();
jsonArray.add("听歌");
jsonArray.add("看电影");
jsonObject.add("hobby", jsonArray);
return new Gson().toJson(jsonObject);
}
}
3. 代码解析
1. @RestController:该注解用于类上,可以相当于使用了@Controller注解和@ResponseBody注解,该类中的所有方法都默认使用了@ResponseBody注解,所有方法的返回值都是Json数据
2. @GetMapping:该注解用于方法上,HTTP请求方式是Get,请求路径是/demo,produce属性注明的是返回值的类型
3. addProperty():该方法可以添加Json的key值和value数据,value数据可以是基本数据类型或者String类型,不能是数组或者普通对象
4. jsonObject.add():该方法可以添加Json的key值和value数据,与addProperty()方法不同的是,value值可以是JsonArray对象或者JsonElement对象
5. jsonArray.add():该方法可以添加数组中的数据,用于构建数组
6. toJson():该方法可以构建Json数据,返回值为String