java前后端分离vue前端传值json后端接收
controller接受前端传过来的Json
标题如果前端传的json中的key可以和实体类中的属性一一对应上
标题当前端的传过来controller的值与对象的属性名不匹配时可以使用 @JsonAlias (依赖于setter、getter)
①:@JsonAlias注解,实现:json转模型时,使json中的特定key能转化为特定的模型属性;但是模型转json时,对应的转换后的key仍然与属性名一致
②:@JsonProperty注解,实现:json转模型时,使json中的特定key能转化为指定的模型属性;同样的,模型转json时,对应的转换后的key为指定的key
③:@JsonAlias注解需要依赖于setter、getter,而@JsonProperty注解不需要。
标题当传过来的json没有与之相匹配的对象时,可以使用Map进行自动转换
实体类:
或
当前端传过来的json中既有对象,又有额外的数据时
打印结果:
//list<Integer> 转换为int[]
int[] arr1 = list.stream().mapToInt(Integer::valueOf).toArray();
将map映射成实体:
Emp emp1 = new Gson().fromJson(new JSONObject((Map<String, Object>) map.get("user")).toJSONString(),Emp.class);
Restfull 风格的写法: