色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

gsoap 支持 json

李中冰1年前7瀏覽0評論

gsoap是一個非常流行的C/C++語言的框架,它被廣泛用于Web服務開發。最近,它已經發展出了一個新的特性 - 支持JSON。

#include "soapH.h"
#include "hello.nsmap"
#includeint main(int argc, char **argv)
{
helloService service; //用于調用Web服務的實例
soap* soap = soap_new(); //gsoap創建soap上下文
std::string input = "{\"name\":\"John\",\"age\":25}"; //待序列化JSON數據
struct ns1__JsonResponse response; //用于存放反序列化后的JSON響應
soap->recv_timeout = 50; //超時時間
if (soap_call_ns1__Json(soap, nullptr, nullptr, input.c_str(), response) != SOAP_OK)
{
soap_print_fault(soap, stderr);
exit(EXIT_FAILURE);
}
const std::string output = response.return_; //返回值是序列化的JSON數據
std::cout<< "Output: "<< output<< std::endl;
soap_destroy(soap); //清除所有gsoap對象
soap_end(soap);
soap_free(soap);
return 0;
}

上面的代碼演示了如何使用gsoap調用一個返回JSON響應的Web服務。要做到這一點,我們只需要使用struct ns1__JsonResponse結構體來容納反序列化后的JSON數據。

在Web服務端,如果想要以JSON格式返回響應,我們可以使用一個Rpc樣式的Web服務,其中在WSDL文件中定義了返回類型為xsd:string類型的典型Web服務例程:

這個WSDL定義了一個名為Json的Web服務,并期望接受名為input_data的參數。執行Json服務將返回一個包含JSON響應的字符串。