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

每天学习一点点,每天进步一点点。

原文地址:https://www.cnblogs.com/youcoding/p/14563183.html