C語言中的JSON庫可以實現將JSON格式的數據轉換為C語言的數據結構。而為了更好地對JSON數據進行處理和使用,在C語言中也可以通過model轉換的方式將JSON數據轉換為對應的C語言結構體。關于這兩個轉換方式的具體實現可以看下面的代碼示例。
// JSON轉換為C語言結構體 #include <stdio.h> #include <stdlib.h> #include <jansson.h> typedef struct { char *name; int age; char *address; } user; int main() { json_t *root; json_error_t error; root = json_loads("{\"name\":\"張三\", \"age\":18, \"address\":\"中國\"}", JSON_DECODE_ANY, &error); if (root) { user *us = (user *) malloc(sizeof(user)); memset(us, 0, sizeof(user)); us->name = (char*) json_string_value(json_object_get(root, "name")); us->age = json_integer_value(json_object_get(root, "age")); us->address = (char*) json_string_value(json_object_get(root, "address")); printf("name: %s\nage: %d\naddress: %s\n", us->name, us->age, us->address); free(us); } return 0; }
//C語言結構體轉換為JSON #include <stdio.h> #include <jansson.h> typedef struct { char *name; int age; char *address; } user; int main() { user us = {"張三", 18, "中國"}; json_t *root = json_object(); json_object_set_new(root, "name", json_string(us.name)); json_object_set_new(root, "age", json_integer(us.age)); json_object_set_new(root, "address", json_string(us.address)); char *json_str = json_dumps(root, JSON_ENCODE_ANY | JSON_COMPACT); printf("%s\n", json_str); json_decref(root); free(json_str); return 0; }
以上兩個示例代碼便是C語言中實現JSON庫和model轉換的基礎操作。在實際開發中可以使用這兩種方法對JSON數據進行自由轉換和操作,有助于更好地使用和處理JSON數據。
上一篇html左側懸浮代碼
下一篇html快捷顯示出代碼