C語言是一種強大的編程語言,它可以用于各種復雜的開發任務,其中包括讀寫JSON字符串。在這篇文章中,我們將研究如何使用C語言讀取輸出JSON字符串。
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\":\"Tom\", \"age\": 25, \"city\":\"New York\"}"; json_t *root = NULL; json_error_t error; root = json_loads(json_string, 0, &error); if (root) { const char *name = json_string_value(json_object_get(root, "name")); int age = json_integer_value(json_object_get(root, "age")); const char *city = json_string_value(json_object_get(root, "city")); printf("Name: %s\n", name); printf("Age: %d\n", age); printf("City: %s\n", city); json_decref(root); } else { printf("Error: %s\n", error.text); } return 0; }
上述代碼演示了如何使用C語言解析JSON字符串。在第3行中,我們定義了一個JSON字符串并將其分配給“json_string”變量。接下來,在第5行中,我們使用json_t類型的“root”變量來解析JSON字符串,并在第7行中定義了一個json_error_t類型的變量“error”,用于捕獲解析過程中的任何錯誤。
接下來,在第9行中,我們使用json_loads()函數將JSON字符串轉換為JSON對象,并將其分配給“root”變量。如果解析成功,則調用json_object_get()函數獲取JSON對象中的值,并將其結果轉換為適當的類型。在第13行中,我們獲取“name”屬性并將其轉換為C字符串。“json_string_value()”函數用于將JSON對象的值轉換為C字符串類型。在第14和第15行中,我們獲取“age”和“city”屬性,并將它們轉換為C整數和C字符串類型。最后,我們使用“printf()”函數輸出所有屬性的值。在第21行中,我們釋放從JSON字符串分配的所有內存。
總之,上述代碼將JSON字符串轉換為JSON對象,并從對象中獲取所有屬性的值并輸出這些值。它演示了如何使用C語言讀取JSON字符串,并為您提供了解析JSON的指導。