欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 怎么判斷json里邊鍵是否存在

錢良釵2年前9瀏覽0評論

在 C 語言里,要判斷 JSON 對象內部是否存在某個鍵,需要借助第三方庫。常用的有 jansson、cjson、json-c 等。

以 json-c 為例,其提供了以下核心方法來進行判斷:

struct json_object* json_object_object_get(struct json_object* obj, const char* key);
bool json_object_object_get_ex(struct json_object* obj, const char* key, struct json_object** value);

其中,參數 obj 為 JSON 對象,key 為要判斷的鍵,value 為存儲返回值的指針。兩個方法的區別在于,前者會直接返回獲取到的 JSON 對象,而后者需要判斷是否獲取成功。

下面給出一個示例:

#include <stdio.h>
#include <json-c/json.h>
int main() {
const char* json_str = "{\"key1\": 123, \"key2\": \"value\"}";
struct json_object* obj = json_tokener_parse(json_str);
struct json_object* value;
bool success = json_object_object_get_ex(obj, "key1", &value);
if (success) {
printf("Value of key1: %d\n", json_object_get_int(value));
} else {
printf("Key1 not found\n");
}
json_object_put(obj);
return 0;
}

在上面的示例中,首先通過 json_tokener_parse 方法將 JSON 字符串解析為 JSON 對象。然后使用 json_object_object_get_ex 方法獲取 key1 對應的值,并判斷獲取是否成功。最后通過 json_object_put 方法釋放對象。