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

c 字符串 json

錢多多1年前8瀏覽0評論

c語言中有一個字符數組類型叫做字符串,它用來存儲一段文本型數據。字符數組的長度可以通過其定義時指定固定長度,或者在運行時用strlen函數獲取其長度。字符串可以被賦值、拼接、比較、截取等常用操作。

JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。它以鍵值對的形式來表示對象,使用大括號{}包裹,鍵和值之間用冒號:分隔,不同鍵值對之間用逗號,分隔。例如:

{
"name": "Jack",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
},
"phoneNumbers": [
{
"type": "home",
"number": "555-555-1234"
},
{
"type": "work",
"number": "555-555-5678"
}
]
}

c語言中可以使用第三方庫(如 cJSON)來解析json字符串。具體操作如下:

#include <stdio.h>
#include <cJSON.h>
int main() {
char *data = "{\"name\":\"Jack\",\"age\":30,\"address\":{\"street\":\"123 Main St\",\"city\":\"New York\"},\"phoneNumbers\":[{\"type\":\"home\",\"number\":\"555-555-1234\"},{\"type\":\"work\",\"number\":\"555-555-5678\"}]}";
cJSON *json = cJSON_Parse(data);
if (json != NULL) {
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *street = cJSON_GetObjectItem(cJSON_GetObjectItem(json, "address"), "street");
printf("name: %s\n", name->valuestring);
printf("age: %d\n", age->valueint);
printf("street: %s\n", street->valuestring);
cJSON_Delete(json);
}
return 0;
}

以上代碼將json字符串轉換為json對象,并通過cJSON_GetObjectItem方法獲取其中的值。注意,獲取值時需要指定正確的類型,如valuestring或valueint等。使用完json對象后,需要調用cJSON_Delete方法進行釋放。