c JSON大小寫嗎?這是一個(gè)經(jīng)常被提及的問題。答案是:不存在大小寫問題。
JSON字符串中的key名和value值都是不區(qū)分大小寫的,因此在C語言中也無需考慮大小寫命名的問題。如下的JSON字符串,可以使用cJSON_GetObjectItemCaseSensitive
來獲取值,而字符串中的大小寫不影響結(jié)果。
{ "name":"Tom", "age":20, "Email":"tom@example.com" }
在使用cJSON解析JSON字符串時(shí),我們可以通過cJSON_GetObjectItem
和cJSON_GetObjectItemCaseSensitive
這兩個(gè)函數(shù)來獲取JSON字符串中的值。
/* 獲取name值,不區(qū)分大小寫 */ cJSON_GetObjectItemCaseSensitive(root, "name")->valuestring; /* 獲取Email值,區(qū)分大小寫 */ cJSON_GetObjectItem(root, "Email")->valuestring;
以上兩個(gè)函數(shù)在獲取JSON字符串中的值時(shí),一個(gè)是區(qū)分大小寫,一個(gè)是不區(qū)分大小寫,根據(jù)實(shí)際情況選擇即可。
總之,在使用cJSON解析JSON字符串時(shí),我們不用太在意大小寫命名的問題,只要按照標(biāo)準(zhǔn)的JSON格式書寫字符串,cJSON解析器會(huì)自動(dòng)將其解析成正確的值。