HTTP協議中GET和POST是常用的請求方式,兩者的主要區別在于GET請求將參數放在URL中傳遞,而POST請求將參數放在請求體中傳遞。那么問題來了,GET請求能否傳遞JSON格式的參數呢?答案是可以的。
在URL中傳遞JSON格式的參數,需要把JSON字符串進行urlencode編碼后,再放在URL中作為參數傳遞。這樣在服務端接收到GET請求后,需要對接收到的參數進行解碼和JSON解析,才能得到原始的JSON數據。
GET /path/to/api?json=%7B%22key1%22%3A%22value1%22%2C%22key2%22%3A%22value2%22%7D HTTP/1.1 Host: www.example.com
另外,為了避免JSON參數過長,影響URL的可讀性和可維護性,建議將JSON參數放在POST請求體中來傳遞。
POST /path/to/api HTTP/1.1 Host: www.example.com Content-Type: application/json { "key1": "value1", "key2": "value2" }
在服務端接收到POST請求后,可以直接讀取請求體中的JSON數據進行解析。
綜上所述,GET請求可以傳遞JSON格式的參數,但需要進行urlencode編碼處理。而POST請求則更適合傳遞JSON格式的數據,可直接將JSON數據放在請求體中進行傳遞。
上一篇get能傳json么
下一篇python 數組能相乘