C 解析 多個JSON字符串,是一種將多個JSON字符串分別解析的方法。 在使用C語言進行系統開發時,解析JSON字符串是非常常見的操作。而有時候,需要解析多個JSON字符串,這種情況下,我們可以使用C語言的解析庫,對于每個JSON字符串,分別進行解析,以達到快速、準確地獲取所需要的數據的目的。
#include#include #include #include "cJSON.h" // 解析json串 void parseJson(char* json) { cJSON* root = cJSON_Parse(json); //解析 if (NULL == root) //判斷是否解析成功 { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return ; } if (cJSON_HasObjectItem(root, "name")) //判斷是否有指定鍵 { cJSON* name = cJSON_GetObjectItem(root, "name"); //獲取指定鍵所對應的值 printf("name:%s\n", name->valuestring); //打印指定鍵所對應的值 } cJSON_Delete(root); //釋放內存 } // 分離json串 int separateJson(char* buffer, char** jsons, int* jsonCount) { char *p = strtok(buffer, "\n"); int i = 0; while (p) { jsons[i++] = p; //將json串存入數組 p = strtok(NULL, "\n"); (*jsonCount)++; } return 0; } int main(int argc, char **argv) { char buffer[1024]; FILE *fp = fopen("test.txt", "r"); //打開文件 fread(buffer, 1, sizeof buffer, fp); //讀取文件內容 fclose(fp); //關閉文件 int jsonCount = 0; char* jsons[10] = {0}; separateJson(buffer, jsons, &jsonCount); //分離json串 for (int i = 0; i< jsonCount; i++) { parseJson(jsons[i]); //分別解析json串 } return 0; }
以上為C語言解析多個JSON字符串的完整代碼。使用該代碼,我們可以快速、準確地獲取我們需要的數據,提高了開發效率,為我們的工作帶來了極大的便利。