C JSON獲取內存數據
在C語言中,JSON是一種常用的數據交換格式。在編寫C語言程序時,我們經常需要從內存中獲取JSON數據。以下是關于如何從內存中獲取JSON數據的方法。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { // 模擬從網絡獲取JSON字符串 char* json = "{\"name\":\"Tom\",\"age\":20}"; // 解析JSON字符串,并獲取JSON對象 json_error_t error; json_t* root = json_loads(json, 0, &error); // 獲取數據 json_t* name = json_object_get(root, "name"); json_t* age = json_object_get(root, "age"); // 打印數據 printf("Name: %s\n", json_string_value(name)); printf("Age: %d\n", json_integer_value(age)); // 釋放內存 json_decref(root); return 0; }
首先,我們需要獲取JSON字符串。在實際開發中,這個字符串通常來自于網絡或本地文件。然后,我們使用json_loads()函數將JSON字符串轉換為json_t類型的對象。如果轉換失敗,可以通過json_error_t結構體獲取錯誤信息。
一旦我們獲得了JSON對象,我們可以使用json_object_get()函數獲取指定的JSON鍵以及它們的值。如果獲取成功,我們可以使用對應的json_xxx_value()函數獲取它們的數值,并將它們打印到控制臺上。
最后,我們使用json_decref()函數釋放內存。