C JSON path 是一個用于從 JSON 數據中提取特定值的工具。它基于類似于XPath的語法,允許您以一種簡單而強大的方式引用JSON數據的特定部分。
// 示例 JSON 數據 { "firstName": "John", "lastName": "Doe", "age": 25, "address": { "streetAddress": "123 Main St.", "city": "Springfield", "state": "IL", "postalCode": "12345" }, "phoneNumbers": [ { "type": "home", "number": "123-456-7890" }, { "type": "work", "number": "555-555-1212" } ] } // 示例 JSON path "$.address.city" // 返回 "Springfield" "$.phoneNumbers[0].number" // 返回 "123-456-7890" "[?(@.age >20)].firstName" // 返回 "John"
在 C 語言中使用 JSON path,有許多庫可用。其中,最受歡迎的是 Jansson。
// Jansson 示例代碼: #includeint main() { json_t *root; json_error_t error; // 從字符串解析 JSON root = json_loads("{\"key\": \"value\"}", 0, &error); // 使用 JSON path 獲取值 json_t *value = json_path(root, "$.key"); // 將獲取到的值轉換為字符串 const char *result = json_string_value(value); printf("Value: %s\n", result); // 釋放資源 json_decref(root); return 0; }
在上面的示例中,我們首先使用json_loads()
函數從字符串中解析 JSON 數據。然后,我們使用json_path()
函數使用 JSON path 獲取鍵值對應的值。最后,我們將返回值轉換為字符串并打印它。
總之,在使用 JSON 數據時,使用 C JSON path 工具可以更輕松地查找 JSON 中的數據。