JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。在許多Web應用程序中,JSON已成為廣泛使用的數據格式,,經常用于與服務器之間的通信。C語言也提供了一些庫可以用于組裝和解析JSON數據。
以下是一個使用C語言組裝JSON數據的例子:
#include <stdio.h> #include <jansson.h> int main() { json_t *root; root = json_object(); //創建根對象 json_object_set_new(root, "name", json_string("Tina")); //增加鍵值 json_t *messages; messages = json_array(); //創建嵌套數組 json_array_append_new(messages, json_string("Hello")); json_array_append_new(messages, json_string("World")); json_object_set_new(root, "messages", messages); //打印JSON數據 char *json_string = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_string); json_decref(root); //釋放內存 return 0; }
上述代碼將JSON數據組裝成以下格式:
{ "name": "Tina", "messages": [ "Hello", "World" ] }
與組裝JSON數據類似,C語言還提供了一些庫可以解析JSON數據。以下是一個使用C語言解析JSON數據的例子:
#include <stdio.h> #include <jansson.h> int main() { const char *json_string = "{\"name\":\"Tina\",\"messages\":[\"Hello\",\"World\"]}"; json_error_t error; json_t *root = json_loads(json_string, JSON_DECODE_ANY, &error); //解析JSON數據 if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } //獲取鍵值 json_t *name; name = json_object_get(root, "name"); printf("name: %s\n", json_string_value(name)); json_t *messages; messages = json_object_get(root, "messages"); for (int i = 0; i< json_array_size(messages); i++) { json_t *message = json_array_get(messages, i); printf("message[%d]: %s\n", i, json_string_value(message)); } json_decref(root); //釋放內存 return 0; }
上述代碼將解析JSON數據并打印出以下內容:
name: Tina message[0]: Hello message[1]: World
使用C語言組裝和解析JSON數據非常簡單,可以讓我們輕松地實現與服務器之間的數據交換。
下一篇vs2015 vue