在C語言中,我們可以使用HTTP/1.1報文來請求JSON數據。下面是一個簡單的HTTP請求頭:
GET /path/to/json HTTP/1.1 Host: www.example.com Accept: application/json
這個請求頭告訴服務器我們要獲取某個路徑下的JSON數據。服務器會向我們返回一個具有相應格式的JSON數據。接下來就是解析這個JSON數據。
在C語言中,可以使用第三方庫來解析JSON數據,如json-c,jansson等。這里我們以使用json-c為例。首先,需要將JSON數據轉換成JSON對象:
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { char *json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; struct json_object *json_obj = json_tokener_parse(json_string); // Do something with json_obj... return 0; }
上面的代碼將一個字符串類型的JSON數據轉換成一個json_object類型的JSON對象。接下來可以從該對象中獲取想要的屬性值:
struct json_object *name, *age, *city; json_object_object_get_ex(json_obj, "name", &name); json_object_object_get_ex(json_obj, "age", &age); json_object_object_get_ex(json_obj, "city", &city); printf("Name: %s\nAge: %d\nCity: %s\n", json_object_get_string(name), json_object_get_int(age), json_object_get_string(city));
上面的代碼將對應的屬性值提取出來,并以字符串或整數的形式輸出。這就是如何在C語言中請求JSON數據,并解析響應結果的簡單介紹。