JSON(JavaScript Object Notation)是一個(gè)輕量級的數(shù)據(jù)交換格式,其特點(diǎn)是易于理解和編寫,同時(shí)具備良好的讀寫性能。在Web開發(fā)中,我們經(jīng)常需要使用JSON格式的數(shù)據(jù)進(jìn)行數(shù)據(jù)交換和傳輸。本文將介紹如何進(jìn)行JSON報(bào)文的組裝,包括JavaScript中的JSON對象和JSON.stringify方法,以及服務(wù)器端的JSON庫。
// JavaScript中使用JSON對象 // 創(chuàng)建一個(gè)JSON對象 var person = {"name": "張三", "age": 18, "sex": "男"}; // 將JSON對象轉(zhuǎn)換為字符串 var personStr = JSON.stringify(person); console.log(personStr); // 輸出結(jié)果:'{"name":"張三","age":18,"sex":"男"}' // 在前端頁面中,我們通常會(huì)使用XMLHttpRequest對象來發(fā)送JSON請求,并在回調(diào)函數(shù)中處理JSON響應(yīng) var xhr = new XMLHttpRequest(); xhr.open('POST', '/getData', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var response = JSON.parse(xhr.responseText); console.log(response); } }; xhr.send(JSON.stringify({"username": "admin", "password": "123456"})); // 服務(wù)器端使用JSON庫(以Node.js為例) // 安裝JSON庫 npm install --save json // 將JSON字符串轉(zhuǎn)換為對象 var jsonObject = JSON.parse('{"name":"張三","age":18,"sex":"男"}'); console.log(jsonObject.name); // 輸出結(jié)果:'張三' // 將對象轉(zhuǎn)換為JSON字符串 var jsonString = JSON.stringify({"name":"張三","age":18,"sex":"男"}); console.log(jsonString); // 輸出結(jié)果:'{"name":"張三","age":18,"sex":"男"}' // 可以使用JSON庫的load和dump方法讀寫JSON文件 var fs = require('fs'); var jsonFile = './data.json'; var data = JSON.load(jsonFile); data.name = '李四'; JSON.dump(data, jsonFile);