C語言中使用POST請求傳遞Json格式的數據是一種很常見的操作,對于包含數組的Json數據,需要對傳參方式進行一些調整。
通常情況下,我們使用以下代碼進行POST請求傳參:
char *post_data = "{\"name\":\"John\",\"age\":30}"; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_data);
這里的post_data是一個Json字符串,是直接作為參數傳遞的。但是,如果我們要傳遞一個包含數組的Json數據,這種方式就顯得力不足了。
解決這個問題的方式是改變傳遞參數的方式,將Json字符串放入一個結構體中,并將結構體作為參數傳遞。
typedef struct { char *name; int age; char *hobby[5]; } person; person john = {"John", 30, {"swimming", "running", "reading", "writing", "singing"}}; char post_data[1024]; // 將結構體轉為Json字符串 sprintf(post_data, "{\"name\":\"%s\",\"age\":%d,\"hobby\":[\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"]}", john.name, john.age, john.hobby[0], john.hobby[1], john.hobby[2], john.hobby[3], john.hobby[4]); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_data);
這樣,我們就可以將包含數組的Json數據作為參數傳遞給POST請求了。
上一篇如何在CSS網格中滾動?
下一篇vue聲音調整