Json 对象和 Json 字符串的区别以及转换方法
JSON 对象
有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用 springmvc 的时候,后台 @RequestBody 接受的是一个 json 格式的字符串,一定是一个字符串。
先介绍一下 json 对象,首先说到对象的概念,对象的属性是可以用:对象.属性进行调用的。例如:
var person={"name":"tom","sex":"男","age":"24"}//json对象
console.log(person.name);//在控制台输出tom
alert(typeof(person));//object
JSON 字符串
json 字符串是一个用单引号或者双引号引起来的字符串,因为字符串的格式符合 json 的格式,所以叫做 json 字符串。
var b='{"name":"2323","sex":"afasdf","age":"6262"}';//json字符串
console.log(b);//{"name":"2323","sex":"afasdf","age":"6262"}
alert(typeof(b));//string
所以,json 字符串的本质是一个字符串。
json 字符串和 json 对象的转换
json 字符串转 json 对象,调用 parse 方法:
var b='{"name":"2323","sex":"afasdf","age":"6262"}'//json字符串
var bToObject=JSON.parse(b);
console.log(bToObject.name);//2323
json 对象转为 json 字符串,调用 stringify 方法:
var a={"name":"tom","sex":"男","age":"24"}//json对象
var aToString=JSON.stringify(a);
console.log(aToString);//{"name":"tom","sex":"男","age":"24"}
在 SpringMVC 中涉及前后端交互时
前端请求传 Json 对象则后端使用 @RequestParam;
前端请求传 Jso 字符串则后端使用 @RequestBody。
参考文章
https://blog.csdn.net/feiyst/article/details/88431621
https://blog.csdn.net/qianyiyiding/article/details/51615961
https://blog.csdn.net/u010865136/article/details/78591765
每天学习一点点,每天进步一点点。