老师,有个问题?

来源: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回答

好帮手慕阿满

2020-06-07

同学你好,@ResponseBody是通过HttpMessageConverter中的方法实现的,因为它是一个接口,因此由其实现类完成转换。如果是bean对象,会调用对象的getXXX()方法获取属性值并且以键值对的形式进行封装,进而转化为json串。如果是map集合,采用get(key)方式获取value值,然后进行封装。

祝:学习愉快~

0

好帮手慕阿满

2020-06-07

同学你好,是的。JSON.stringify(product)用于将product转换为 JSON 字符串,然后传递给后台。

祝:学习愉快~

0
hAYxDAY
h 老师,还有个问题,@requestbody的底层是什么?字符串转换成json,然后再转换成对象?装换对象是怎么识别java类型的
h020-06-07
共1条回复

MAYxDAY

提问者

2020-06-07

http://img.mukewang.com/climg/5edca85709e8cfa812550123.jpg

0

好帮手慕阿满

2020-06-07

同学你好,在js文件中,json类型是以字符串的形式显示的,如:

var str1 = '{"width":100,"height":200,"name":"rose"}';

所以称为Json类型的字符串。这里就是指json数据。

祝:学习愉快~

0
hAYxDAY
h 这里不是对JSON进行字符串的转化,然后传回后台,进行数据的读取?
h020-06-07
共1条回复

好帮手慕阿满

2020-06-07

同学你好,关于同学的问题:

1、是的,@ResponseBody将返回值变成json类型,是底层完成的。

2、$getJson获取的也是json类型数据。

3、这里说的字符串是json类型的字符串。

祝:学习愉快~

0
hAYxDAY
h 问题3:json类型的字符串不是json,而是长得像json的字符串吗?
h020-06-07
共1条回复

0 学习 · 8263 问题

查看课程