Json对象和Json字符串以及js对象(JavaScript对象)的区别

Json对象和Json字符串以及js对象(JavaScript对象)的区别1 Json 概念概念 JSON JavaScriptOb 一种简单的数据格式 是一种比较轻量级的数据存储格式 2 Json 与 JS 对象的对比区别 JSONJavaScri 含义数据格式类实例传输可以跨平台数据传输 速度快类实例表现 1 键值对的方式 属性必须加双引号键值对的方式 属性不加双引号表现 2 值不可以是方法函数 undefined 以及 NAN 值可以是函数 对象 字符串 数字 boolean 等相互转换 1

1、Json概念

概念:JSON (JavaScript Object Notation) 一种简单的数据格式,是一种比较轻量级的数据存储格式;

2、Json与JS对象的对比

区 别 JSON JavaScript
含 义 数据格式 类实例
传输 可以跨平台数据传输,速度快 类实例
表现1 键值对的方式,属性必须加双引号 键值对的方式,属性不加双引号
表现2 值不可以是方法函数、undefined以及NAN 值可以是函数、对象、字符串、数字、boolean 等
相互转换1 JSON.parse(str),不兼容IE7 JS对象转换为Json字符串
相互转换2 eval(“(” + str + “)”);(兼容所有浏览器,但是不安全,会执行json里面的表达式) JSON.stringify(obj)

3、Json对象

var person={ 
   "name":"shily","sex":"女","age":"23"}//json对象 console.log(person); console.log(person.name); console.log(typeof person); 

例子如下:

var person='{"name":"shily","sex":"女","age":"23"}';//json字符串 console.log(person) console.log(person.name) console.log(typeof person) 

5、Json对象与Json字符串的相互转化

Json字符串转化为Json对象( JSON.parse() )

var str = '{"name":"shily","sex":"女","age":"23"}'; var strToObj = JSON.parse(str); console.log(strToObj); console.log(typeof strToObj); console.log(strToObj.name) 

Json对象转化为Json字符串( JSON.stringify() )

var obj = { 
   "name":"shily","sex":"女","age":"23"}//json对象 var objToStr = JSON.stringify(obj); console.log(objToStr); console.log(typeof objToStr) 

6、Json数据在哪种格式下会发生转换

7、SpringMvc接受Json字符串类型

基于Rest风格的开发,前端ajax提交的是一个json格式的字符串,后台以@RequestBody接受的json对象

<script type="text/javascript"> $(document).ready(function(){ 
    var saveDataAry=[]; var data1={ 
   "userName":"test","address":"gz"}; var data2={ 
   "userName":"ququ","address":"gr"}; saveDataAry.push(data1); saveDataAry.push(data2); $.ajax({ 
    type:"POST", url:"user/saveUser", dataType:"json", contentType:"application/json", data:JSON.stringify(saveData), success:function(data){ 
    } }); }); </script> 

上面代码,首先push方法将其封装到数组中,其表现格式:

[ { 
   "userName":"test","address":"gz"}, { 
   "userName":"ququ","address":"gr"} ] JSON.stringify(saveData)将其转换为json字符串:同时ajax请求的时候也要指定dataType: “json”,contentType:”application/json” 这样就可以轻易的将一个对象或者List传到Java端。 

后台接收

@Controller @RequestMapping(value = "saveUser", method=RequestMethod.POST ) @ResponseBody public void saveUser(@RequestBody List<User> users) { 
    userService.batchSave(users); } 

后台用@RequestBody将其封装到List中。然后进入Service层。

GETPOST方式提时, 根据request header Content-Type的值来判断: application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理); multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据); 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理)。 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208541.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午11:20
下一篇 2026年3月19日 上午11:21


相关推荐

  • react高阶组件的使用

    react高阶组件的使用高阶组件高阶组件 高阶组件是参数为组件 返回值为新组件的函数 作用 像我们之前用到的 react 的 Form 组件和 redux 的 connect 函数都是高阶组件 使用高阶组件能够提高代码复用能力实现一个高阶组件实现一个高阶组件很容易 只需要简单的几步就好了 importReact useEffect useState from react interfacePro functionWith WrappedCompo React FC amp l

    2026年3月18日
    1
  • AI Agent开发趋势与实战指南:解锁下一代智能体架构

    AI Agent开发趋势与实战指南:解锁下一代智能体架构

    2026年3月16日
    2
  • BeanUtils如何优雅的拷贝List[通俗易懂]

    BeanUtils如何优雅的拷贝List[通俗易懂]前言BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于po、vo、dto的拷贝已经足够用了。但是其还是有一些不够完美的地方不足:不能拷贝list,而拷贝list的情况又大量存在,因此会有许多重复代码 for(Ssource:sources){Ttarget=newT();…

    2025年10月29日
    7
  • 计算机网络基础试题2,计算机网络基础试题库2

    计算机网络基础试题2,计算机网络基础试题库2对网络的理解安徽机电职业技术学院 20 20 学年第学期 计算机网络基础 期终考试试卷 2 班级姓名学号一 单项选择题 每小题 2 分 共 40 分 1 在计算机网络发展的过程当中 对计算机网络的形成与发展的影响最大 A ARPANETB OCTOPUSC DATAPACD NOVELL2 托普学校内的一

    2026年3月18日
    3
  • LocationManager的简单使用

    LocationManager在Android中可以根据LocationManager来获取设备所在的地理信息根据需求可以将定位的代码移动到所需的地方或者可以稍加改动获取城市的信息MainActivity中:packagecom.example.myapplicationpp;importandroid.Manifest;importandroid.app.Activity;…

    2022年4月5日
    41
  • win10多合一原版系统_制作WIN10多合一原版系统「建议收藏」

    win10多合一原版系统_制作WIN10多合一原版系统「建议收藏」本帖最后由zhaofeng0420于2017-6-2112:27编辑开场白…已省略1000字废话先来看看效果QQ截图20170613153956.png(25.77KB,下载次数:0)2017-6-1422:10上传提前准备:WIN10原版ISO镜像cn_windows_10_multiple_editions_version_1703_updated_march_201…

    2022年6月29日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号