老师,有个问题?
来源:6-2 项目作业
MAYxDAY
2020-06-07 12:43:57
modelMap.put("success",ture);
modelMap("product",puoduct);
product 是一个对象,问题1:经过@responstBody 处理后,是不是转换成一个json对象,是不是spring 底层实现的功能?
问题2:js中的getjson方法,对数据进行接收,接收的是不是一个json对象?
问题3:从js 中的ajax 交互中,初始化一个var product={} 一个json对象,对数据进行填充后,保存在formant当中的数据,是json product的 stringify 方法生成的字符转对象,从前台传到后台,经过mapper.readvalue()方法,生成对象。问题是,前后台的通信不是json对象吗,怎么变成字符串了?
5回答
同学你好,@ResponseBody是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。如果是bean对象,会调用对象的getXXX()方法获取属性值并且以键值对的形式进行封装,进而转化为json串。如果是map集合,采用get(key)方式获取value值,然后进行封装。
祝:学习愉快~
好帮手慕阿满
2020-06-07
同学你好,是的。JSON.stringify(product)用于将product转换为 JSON 字符串,然后传递给后台。
祝:学习愉快~
MAYxDAY
提问者
2020-06-07

好帮手慕阿满
2020-06-07
同学你好,在js文件中,json类型是以字符串的形式显示的,如:
var str1 = '{"width":100,"height":200,"name":"rose"}';所以称为Json类型的字符串。这里就是指json数据。
祝:学习愉快~
好帮手慕阿满
2020-06-07
同学你好,关于同学的问题:
1、是的,@ResponseBody将返回值变成json类型,是底层完成的。
2、$getJson获取的也是json类型数据。
3、这里说的字符串是json类型的字符串。
祝:学习愉快~