C語言是一種高效的編程語言,常用于開發低級別的系統及應用程序,比如操作系統和編譯器。在現代的Web開發中,C語言雖然并不是主流的開發語言,但也有許多用處,比如基于C語言開發的網頁服務器等后端應用程序。本文將主要介紹如何使用C語言接受一個JSON串。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 首先定義一個JSON串 const char *json_str = "{\"name\": \"Tom\", \"age\": 18}"; // 然后定義一個JSON對象 json_t *json_obj; json_error_t error; // 解析JSON串為JSON對象 json_obj = json_loads(json_str, 0, &error); // 判斷JSON對象是否為空 if (!json_obj) { fprintf(stderr, "Failed to parse JSON: %s\n", error.text); return 1; } // 從JSON對象中獲取name和age的值 char *name; int age; json_unpack(json_obj, "{s:s, s:i}", "name", &name, "age", &age); printf("Name: %s\n", name); printf("Age: %d\n", age); // 釋放JSON對象和name的內存 json_decref(json_obj); free(name); return 0; }
上述代碼使用jansson這個第三方庫來解析JSON串,首先定義了一個JSON串,然后使用json_loads()函數將JSON串解析為JSON對象。如果解析失敗,則會輸出出錯信息并返回1。如果解析成功,則使用json_unpack()函數從JSON對象中獲取name和age的值。最后釋放JSON對象和name的內存,程序結束。