在C語言中,字符串是一種很重要的數據類型。當涉及到處理JSON數據時,將C字符串與JSON字符串進行轉換是很常見的操作。本文將介紹如何在C中處理JSON字符串。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { char *json_string = "{\"name\": \"Tom\", \"age\": 21}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { printf("json error on line %d: %s", error.line, error.text); return -1; } 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_t對象,如果轉換失敗,則會返回一個NULL值,需要對對應的解析錯誤進行處理。如果json_t對象成功創建,則可以通過json_object_get()函數獲得對應JSON鍵的值,然后再使用相應的json_value類型函數獲取其值。
C語言中的JSON處理庫有很多,其中最常用的是jansson庫。使用jansson庫可以方便地進行JSON字符串的解析、創建、寫入等操作。