JSON(字符串)

包含的數(shù)據(jù)類型:
· number:和JavaScript的number完全一致;
· boolean:就是JavaScript的true或false;
· string:就是JavaScript的string;
· null:就是JavaScript的null;
· array:就是JavaScript的Array表示方式——[];
· object:就是JavaScript的{ ... }表示方式。

把任何JavaScript對象變成JSON,就是把這個(gè)對象序列化成一個(gè)JSON格式的字符串

1、對象序列化成JSON格式的字符串

var xiaoming = {
    name: '小明',
    age: 14,
    gender: true,
    height: 1.65,
    grade: null,
    'middle-school': '\"W3C\" Middle School',
    skills: ['JavaScript', 'Java', 'Python', 'Lisp']
};
function convert(key, value) {
    if (typeof value === 'string') {
        return value.toUpperCase();
    }
    return value;
}



var s = JSON.stringify(xiaoming,['name', 'skills'],4);
var s2 = JSON.stringify(xiaoming, convert, '  ');
// 第一個(gè)參數(shù):js對象
//第二個(gè)參數(shù):Array輸出指定的屬性或者Function處理值
//第三個(gè)參數(shù):縮進(jìn),用于輸出美化
console.log(s);
//輸出
{
    "name": "小明",
    "skills": [
        "JavaScript",
        "Java",
        "Python",
        "Lisp"
    ]
}

console.log(s2);
//輸出
{
    "name": "小明",
    "age": 14,
    "gender": true,
    "height": 1.65,
    "grade": null,
    "middle-school": "\"W3C\" MIDDLE SCHOOL",
    "skills": [
        "JAVASCRIPT",
        "JAVA",
        "PYTHON",
        "LISP"
    ]
}

2、JSON格式的字符串反序列化成一個(gè)JavaScript對象

//json鍵值必須都用" "
JSON.parse('{"name":"小明","age":14}');//{name: "小明", age: 14}

//JSON.parse()還可以接收一個(gè)函數(shù),用來轉(zhuǎn)換解析出的屬性
var obj = JSON.parse('{"name":"小明","age":14}', function (key, value) {
    if (key === 'name') {
        return value + '同學(xué)';
    }
    return value;
});
console.log(JSON.stringify(obj)); // {name: '小明同學(xué)', age: 14}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容