关于json的理解(js中)
来源:互联网 发布:营销网络地图图片制作 编辑:程序博客网 时间:2024/06/06 13:18
1、什么是json
一个对象是有若干个属性构成,这些属性没有顺序,在js中 可以使用{}来表示这个集合。json是一个直属与object的对象
2、js中语法{属性名:属性值,属性名:属性值,属性名:属性值…….}
3、定义一个json:
在定义json对象时,语法要求并不严格,也可以使用双引号或是单引号进行定义,它们表达的含义是相同的。
var p={name:'zhangsan',age:30,emial:'srdftyhu'};
4、js中json与数组的区别:
json的下表是一个字符串,二数组的下表是一个数字
json没有length属性,而数组是有length属性的
数组有两种循环。惊悚只有一种for in循环
5、js中将字符串转换成json的三种方式
方法一 使用eval eval方法必须要用一个圆括号包起来
原因:归结于eval本身的问题,由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
解决方法:加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。
(function strToJson(str){ var json=eval('('+str+')'); return json; }
方法二 使用 new Functoin 的形式
function strToJson(str){ var json=(new Function("return"+str))(); return json; }
方法三 使用全局的json对象 格式要求会比较严格 严格按照格式 里边用双引号 外边用单引号
JSON.parse() 会把一个字符串解析成 JSON 对象。如果字符串书写正确,那么其将会被解析成一个有效的 JSON,但是这个字符串被检测出错误语法的时候将会抛出错误。
JSON.parse() 不允许在末尾添加多余的逗号
JSON 的属性名必须使用双引号
数字不能用 0 开头,比如01,并且你的小数点后面必须跟着至少一个数字
function strToJson(str){ return JSON.parse(str); }
6、JSON.stringify()方法
JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 符合JSON语法的 字符串。若转换的函数被指定,则被序列化的值的每个属性都会经过该函数的转换和处理;若转换的数组被指定,只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中。
7、toJSON 方法
- 关于json的理解(js中)
- 关于前台js中json的处理
- 关于JSON的理解
- 关于json的理解
- 关于js中 json对象和json字符串的总结
- 关于js中prototype的理解
- 关于JS中prototype的理解
- 关于js中数据类型的自我理解
- 关于 js 中 this 的理解
- js中关于this关键字的理解
- 关于js中call方法的理解
- 关于JS中文档碎片的理解
- 关于Json格式的理解
- 关于json的一点理解
- json字符串和对象转换以及json2.js和jquery.json-2.3.js中对于json的方法定义理解
- 关于js中post方法遇到的同步问题(取不到json里的数据)
- 关于js中this 和 prototype的 理解。
- JS中关于(function( window, undefined ) {})(window)写法的理解
- 关于curl和json的安装和使用
- [2017集训队作业自选题#154]简单数据结构题
- 【递归入门】全排列
- Nginx的connect() failed 错误解决
- 经验分享:thinkphp 5是如何实现验证码功能的
- 关于json的理解(js中)
- Linux下Notepad++的替代品
- 输出最大值
- Android Dex文件格式解析
- 编译失败,但没有错误提示
- protobuf扫盲
- Linux下用mail命令发送邮件
- dubbo-1 zookeeper安装
- spring batch 2: 搭建环境以及简单的Job