在C语言中,处理JSON数据是很普遍的。JSON数据通常使用双引号包围字符串。在使用C语言处理JSON数据时,我们需要知道如何使用双引号。
#include <stdio.h> #include <string.h> #include <jansson.h> void print_json_string(const char* str) { const char *p = str; putchar('"'); while (*p) { if (*p == '"' || *p == '\\') { putchar('\\'); putchar(*p); } else if (*p == '\n') { printf("\\n"); } else if (*p == '\r') { printf("\\r"); } else if (*p == '\t') { printf("\\t"); } else { putchar(*p); } p++; } putchar('"'); } int main() { const char *json_str = "{\"name\":\"Alice\",\"age\":20}"; json_t *root; json_error_t error; root = json_loads(json_str, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_t *name_obj = json_object_get(root, "name"); const char *name = json_string_value(name_obj); printf("name: "); print_json_string(name); printf("\n"); json_decref(root); return 0; }
上面的代码展示了如何使用双引号在C语言中解析JSON数据。在代码中,我们使用了json_loads函数将JSON数据加载到json_t类型的变量中,然后使用json_object_get函数获取“name”属性的值。
在print_json_string函数中,我们使用了putchar函数和循环将双引号和JSON字符串输出到控制台。在循环中,我们还处理了JSON字符串中的转义字符,例如\\n、\\r和\\t。