在写一个 ajax 请求,php数据的时候,遇到了一个看似很熟悉但是又有点模糊的问题,那就是组装数据,大家都知道,一般使用ajax向服务器发送请求的时候,都是需要携带参数或者数据的,而组织这些数据的格式,使用最多的应该就是js对象字面量了.
如上图中标示的代码,在后台php中是可以通过post超全局数组直接获取到的,之前一直认为,这种组织数据的格式就是所谓的 json 对象,因为,平常用的最多的与服务器之间交互数据的方式就是json了.
但是将该格式的数组转换成对应的键值对信息后,放到json格式解析器中,得到的结果却是,这不是一个正确的json,当时还有点意外的感觉,于是就测试了下,该格式的数据类型
结果就是Object类型,,但是印象中的json对象与js对象的区别,已经很模糊了,因为平常使用时,基本上都是利用函数相互转换的,于是就翻了一下资料,感觉清晰了很多,关于js独享和json对象的区别如下:
1.json对象是一种数据组织格式,用于跨平台传输数据,而js中的对象一般用来表示一个具体事物的实例
2,json对象的键必须用 双引号 引起来,而js不需要
3.json对象的值不能为js函数或方法名,也不能为特殊值(如undefined和 NAN )
4.json对象和js对象之间是可以相互转换的(在日常开发中用到最多)
个人感觉,有时候一个概念的混淆,并不影响实际的工作,但用到此处的时候,总会有一种”不可靠”的感觉,还是弄清楚比较好,.
以上只是个人对日常开发中,遇到问题的一点理解,可能有会有不当之处,欢迎大家评论,指正!!!