在使用 C 語言解析 Json 字符串時,最重要的就是如何準確地取得所需的值。下面介紹一些常用的方法:
// 注意這里的字符串僅為示例,實際應根據 Json 字符串的格式修改 char json_str[] = "{ \"name\": \"Tom\", \"age\": 18 }"; cJSON *json = cJSON_Parse(json_str); // 解析 Json 字符串 cJSON *name = cJSON_GetObjectItem(json, "name"); // 取得名為 name 的屬性值 cJSON *age = cJSON_GetObjectItem(json, "age"); // 取得名為 age 的屬性值 printf("name: %s\nage: %d\n", name->valuestring, age->valueint); // 輸出屬性值 cJSON_Delete(json); // 釋放 Json 對象
上述代碼通過 cJSON_Parse 函數解析 Json 字符串,并通過 cJSON_GetObjectItem 函數取得名為 name 和 age 的屬性值。其中,json->valuestring 和 json->valueint 分別指向屬性值的字符串和整數。最后,記得釋放占用的內存。
除了上述方法外,還可以使用 cjson 中的一些其他函數來取值,如 cJSON_GetObjectItemCaseSensitive、cJSON_GetArrayItem 等,具體方法可以查看相關文檔。