色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 直接操作 json數據庫

劉姿婷2年前8瀏覽0評論

在C語言中操作JSON數據庫是一種非常常見的操作,使用庫可以輕易地實現操作。下面是一些常見的C語言JSON庫:

cJSON
Jansson
jsmn

接下來介紹如何使用cJSON進行對JSON數據庫的操作。

假設我們有一個如下格式的JSON:

{
"name": "John Smith",
"age": 32,
"city": "New York",
"interests": ["music", "movies", "reading"]
}

接下來使用cJSON讀寫該JSON文件的示例代碼:

#include "cJSON.h"
#include <stdio.h>
int main()
{
char* json_str = "{\"name\": \"John Smith\",\"age\": 32,\"city\": \"New York\",\"interests\": [\"music\", \"movies\", \"reading\"]}";
cJSON* root = cJSON_Parse(json_str);
if (root) {
cJSON* name_item = cJSON_GetObjectItem(root, "name");
char* name = cJSON_GetStringValue(name_item);
printf("Name: %s\n", name);
cJSON* age_item = cJSON_GetObjectItem(root, "age");
int age = cJSON_GetNumberValue(age_item);
printf("Age: %d\n", age);
cJSON* interests_item = cJSON_GetObjectItem(root, "interests");
cJSON* interest = NULL;
int interests_size = cJSON_GetArraySize(interests_item);
printf("Interests:\n");
for (int i = 0; i< interests_size; i++) {
interest = cJSON_GetArrayItem(interests_item, i);
printf("- %s\n", cJSON_GetStringValue(interest));
}
cJSON_Delete(root);
}
return 0;
}

以上代碼解釋如下:

  • 首先定義了一個JSON字符串。
  • 在代碼的第四行,使用cJSON_Parse函數將JSON字符串轉換為一個cJSON對象。
  • 使用cJSON_GetObjectItem函數可以獲取cJSON對象中的元素,獲取到字符串元素后需要使用cJSON_GetStringValue函數才能獲得其中的值。
  • 使用cJSON_GetNumberValue函數同樣可以獲取到數字類型的元素。
  • 使用cJSON_GetArraySize可以獲取數組元素的大小,之后可以使用cJSON_GetArrayItem函數來獲取其中的元素。
  • 最后使用cJSON_Delete函數來釋放內存。

在JSON文件以及許多API中,都會使用JSON來表示數據,因此對于C語言開發人員來說,掌握JSON的操作是非常重要的。