當前位置:
                    首頁 >
                            前端技术
>                            javascript
>内容正文                
                        
                    javascript
js的JSON
把任何JavaScript對象變成JSON,就是把這個對象序列化成一個JSON格式的字符串,這樣才能夠通過網絡傳遞給其他計算機。
如果我們收到一個JSON格式的字符串,只需要把它反序列化成一個JavaScript對象,就可以在JavaScript中直接使用這個對象了。
序列化
var xiaoming = {name: '小明',age: 14,gender: true,height: 1.65, grade: null, 'middle-school': '\"W3C\" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'] }; JSON.stringify(xiaoming); //{...}如果我們還想要精確控制如何序列化小明,可以給xiaoming定義一個toJSON()的方法,直接返回JSON應該序列化的數據: var xiaoming = {name: '小明',age: 14,gender: true,height: 1.65, grade: null, 'middle-school': '\"W3C\" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'], toJSON: function () { return { // 只輸出name和age,并且改變了key: 'Name': this.name, 'Age': this.age }; } }; JSON.stringify(xiaoming); // '{"Name":"小明","Age":14}'
如果我們還想要精確控制如何序列化小明,可以給xiaoming定義一個toJSON()的方法,直接返回JSON應該序列化的數據:
var xiaoming = {name: '小明',age: 14,gender: true,height: 1.65, grade: null, 'middle-school': '\"W3C\" Middle School', skills: ['JavaScript', 'Java', 'Python', 'Lisp'], toJSON: function () { return { // 只輸出name和age,并且改變了key: 'Name': this.name, 'Age': this.age }; } }; JSON.stringify(xiaoming); // '{"Name":"小明","Age":14}'反序列化
拿到一個JSON格式的字符串,我們直接用JSON.parse()把它變成一個JavaScript對象:
JSON.parse('[1,2,3,true]'); // [1, 2, 3, true] JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14} JSON.parse('true'); // true JSON.parse('123.45'); // 123.45JSON.parse()還可以接收一個函數,用來轉換解析出的屬性: JSON.parse('{"name":"小明","age":14}', function (key, value) {// 把number * 2: if (key === 'name') { return value + '同學'; } return value; }); // Object {name: '小明同學', age: 14}
轉載于:https://www.cnblogs.com/binxyz/p/7309318.html
總結
 
                            
                        - 上一篇: 为什么我会被淘汰?
- 下一篇: mysql shell
