兩個JSON字符串的比對是一項常見的任務。在C語言中,我們可以使用標準庫提供的strcmp
函數對兩個JSON字符串進行比較。以下是一個簡單的示例:
#include <stdio.h> #include <string.h> #include <stdbool.h> #include <jansson.h> int main() { char* json_str1 = "{\"name\": \"Alice\", \"age\": 25}"; char* json_str2 = "{\"name\": \"Bob\", \"age\": 30}"; json_t* json1 = json_loads(json_str1, 0, NULL); json_t* json2 = json_loads(json_str2, 0, NULL); int result = json_equal(json1, json2); if(result == true) { printf("The two JSON strings are equal.\n"); } else { printf("The two JSON strings are not equal.\n"); } json_decref(json1); json_decref(json2); return 0; }
在這段代碼中,我們使用了jansson
庫來將JSON字符串轉換為JSON對象。然后,我們使用json_equal
函數來比較這兩個JSON對象。如果它們相等,json_equal
將返回true,否則返回false。
需要注意的是,兩個JSON對象只有在它們表示相同的數據時才會相等。例如,如果一個對象有一個沒有定義的屬性,而另一個對象沒有這個屬性,則這兩個對象不會被認為是相等的。