JSON是JavaScript Object Notation的縮寫,它是一種輕量級的數據交換格式。C語言可以通過使用JSON字符串來表示結構化數據。
一個典型的JSON字符串由一些屬性和值組成,一個屬性通常用雙引號括起來,后面跟著一個冒號,再后面是屬性的值。
{ "name": "John", "age": 30, "isStudent": true, "address": { "street": "123 Fake Street", "city": "Anytown", "state": "CA", "zip": "12345" }, "phoneNumbers": [ { "type": "home", "number": "555-555-1212" }, { "type": "work", "number": "555-555-2121" } ] }
C語言中可以通過使用第三方庫如cJSON來處理JSON字符串。使用cJSON庫,首先需要將JSON字符串解析成一個cJSON結構體,然后就可以通過結構體來訪問屬性和值。
#include <stdio.h> #include <cJSON.h> int main() { char* jsonString = "{ \"name\": \"John\", \"age\":30 }"; cJSON* json = cJSON_Parse(jsonString); if (json == NULL) { printf("Error parsing JSON: %s\n", cJSON_GetErrorPtr()); return 1; } char* name = cJSON_GetObjectItem(json, "name")->valuestring; int age = cJSON_GetObjectItem(json, "age")->valueint; printf("name = %s, age = %d\n", name, age); cJSON_Delete(json); return 0; }
通過上面的代碼,可以從JSON字符串中解析出一個名字和年齡的值,并打印出來。
總之,C語言中處理JSON字符串可以利用一些第三方庫來解析和構建JSON結構體,并方便地訪問其中的屬性和值。