C JSON數組是一種常用的數據格式,它能夠方便地存儲和傳輸各種類型的數據。在使用C語言進行JSON數據處理時,接收JSON數組需要進行一定的操作。
#include<stdio.h> #include<jansson.h> int main() { const char *json = "[1, 2, 3, 4]"; json_error_t error; json_t *root = json_loads(json, 0, &error); if(!root) { printf("雜項: %d 行號: %d\n", error.text, error.line); } if(!json_is_array(root)) { printf("JSON數據不是數組\n"); json_decref(root); return 1; } size_t i; json_t *value; json_array_foreach(root, i, value) { if(!json_is_integer(value)) { printf("json文檔中不包含整數\n"); json_decref(root); return 1; } printf("Json[%d]: %lld\n", i, json_integer_value(value)); } json_decref(root); return 0; }
上述代碼中,我們使用了json_loads()函數來將JSON字符串轉換為json_t對象。然后我們通過json_is_array()檢查json_t對象是否為數組。如果是,我們可以使用json_array_foreach()來訪問JSON數組中的每一個元素,每個元素通常都是json_t對象。我們使用json_is_integer()函數來檢查每個元素是否為整數,如果是,我們就使用json_integer_value()來獲取其整數值。
在接收JSON數組時,我們還需要考慮一些其他的因素,例如JSON中可能包含多種類型的數據,而不僅僅是整數。因此,我們需要根據具體的情況進行相應的處理,確保我們能夠正確地接收JSON數據,并對其進行處理。