百度云文字識別API可以幫助用戶快速地對圖片中的文字進行識別,而返回的結(jié)果是json格式的數(shù)據(jù)。在使用c語言進行開發(fā)的過程中,可以通過使用json庫對這些數(shù)據(jù)進行解析。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "cJSON.h" int main() { char* json_str = "{ \"log_id\": 3215208563650790689, \"words_result_num\": 10, \"words_result\": [ { \"words\": \"Hello\" }, { \"words\": \"World\" } ] }"; cJSON* json = cJSON_Parse(json_str); if(json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return -1; } cJSON* words_result = cJSON_GetObjectItem(json, "words_result"); int result_num = cJSON_GetObjectItem(json, "words_result_num")->valueint; for(int i = 0; i< result_num; i++) { cJSON* item = cJSON_GetArrayItem(words_result, i); printf("Result %d: %s\n", i+1, cJSON_GetObjectItem(item, "words")->valuestring); } cJSON_Delete(json); return 0; }
在以上代碼中,我們使用了cJSON庫對json格式的數(shù)據(jù)進行解析,并輸出了識別出的文字結(jié)果。cJSON庫的使用非常簡單,只需要調(diào)用cJSON_Parse函數(shù)對json字符串進行解析,然后使用各種cJSON_GetXXX函數(shù)獲取其中的數(shù)值、字符串等類型的數(shù)據(jù)即可。