在Web開發中,我們經常會使用HTTP協議來實現數據交互。HTTP請求分為GET和POST兩種方式,其中GET方式是通過URL來傳遞參數,而POST方式是通過請求體來傳遞參數。
當我們使用GET請求來傳遞參數時,會將參數附加到URL的末尾,形成類似于下面這樣的形式:
http://www.example.com?param1=value1¶m2=value2¶m3=value3
但是,如果我們要傳遞復雜的數據結構或者大量的數據時,GET請求的方式就不太適合了。這時候,我們可以使用JSON來傳遞參數。
JSON是一種輕量級的數據交換格式,易于閱讀和編寫,也易于機器解析和生成。在使用GET請求帶JSON參數時,我們可以將JSON字符串作為參數傳遞到URL中,形成下面這樣的形式:
http://www.example.com?json={"key1":"value1","key2":"value2"}
需要注意的是,在將JSON字符串作為參數傳遞時,必須將其進行URL編碼,以防止特殊字符對URL的影響。我們可以使用encodeURIComponent()函數來進行編碼:
var json = {"key1":"value1","key2":"value2"}; var url = "http://www.example.com?json=" + encodeURIComponent(JSON.stringify(json));
在服務端接收到這樣的GET請求后,需要將參數解析出來,然后才能對JSON數據進行操作。使用Node.js的Express框架可以很方便地實現這一步操作:
const express = require("express"); const app = express(); app.get("/", function(req, res) { const json = JSON.parse(req.query.json); console.log(json.key1); console.log(json.key2); }); app.listen(3000);
如上所示,使用req.query.json來獲取URL中傳遞的參數,然后通過JSON.parse()函數將JSON字符串解析成JSON對象。