在C語言中,我們經常會遇到將字符串轉換為JSON格式的需求。JSON是一種輕量級的數據交換格式,常用于Web開發中。下面介紹如何在C語言中實現字符串轉換為JSON。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include <jansson.h> int main() { char* str = "{\"key\": \"value\"}"; json_error_t error; json_t* json = json_loads(str, 0, &error); if (!json) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return -1; } const char* key = "key"; json_t* value = json_object_get(json, key); if (!json_is_string(value)) { fprintf(stderr, "error: value is not a string\n"); json_decref(json); return -1; } const char* str_value = json_string_value(value); if (!str_value) { fprintf(stderr, "error: value is null\n"); json_decref(json); return -1; } printf("value: %s\n", str_value); json_decref(json); return 0; }
如上述代碼所示,我們使用了jansson庫來實現字符串與JSON的轉換。在代碼中,首先需要加載json字符串,并檢查是否成功。然后需要指定要獲取的key,并通過json_object_get方法獲取相應的值。接著需要檢查獲取到的值是否是字符串類型,并通過json_string_value轉換為字符串。最后,需要調用json_decref函數釋放內存。