JSON是一種輕量級的數(shù)據(jù)交互格式,常見于Web應用中。在C語言中,我們可以使用第三方庫cJSON來解析和提取JSON數(shù)據(jù)中的內(nèi)容。
#include <stdio.h> #include <stdlib.h> #include "cJSON.h" int main() { char *json_str = "{\"name\":\"張三\",\"age\":18,\"scores\":[75,85,90]}"; cJSON *root = cJSON_Parse(json_str); if (!root) { printf("Error before: %s\n", cJSON_GetErrorPtr()); return -1; } cJSON *name = cJSON_GetObjectItem(root, "name"); if (!cJSON_IsString(name) || name->valuestring == NULL) { printf("Error: name is not a string\n"); cJSON_Delete(root); return -1; } cJSON *age = cJSON_GetObjectItem(root, "age"); if (!cJSON_IsNumber(age)) { printf("Error: age is not a number\n"); cJSON_Delete(root); return -1; } cJSON *scores = cJSON_GetObjectItem(root, "scores"); if (!cJSON_IsArray(scores)) { printf("Error: scores is not an array\n"); cJSON_Delete(root); return -1; } printf("name: %s\n", name->valuestring); printf("age: %d\n", age->valueint); for (int i = 0; i< cJSON_GetArraySize(scores); i++) { cJSON *score = cJSON_GetArrayItem(scores, i); if (!cJSON_IsNumber(score)) { printf("Error: score[%d] is not a number\n", i); cJSON_Delete(root); return -1; } printf("score[%d]: %d\n", i, score->valueint); } cJSON_Delete(root); return 0; }
首先,我們在代碼中定義了一個JSON字符串json_str
,其中包含了一個name
、age
和scores
三個屬性。接著,我們通過
我們可以使用
最后,我們需要使用
上一篇html怎么設置td對齊
下一篇python 非線性降維