![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C) POST JSON to REST API with non-us-ascii Chars EscapedSee more REST ExamplesDemonstrates how to POST to a REST API with non-usascii chars within JSON Unicode escaped.Note: This example requires Chilkat v11.1.0 or greater.
#include <C_CkRest.h> #include <C_CkJsonObject.h> #include <C_CkStringBuilder.h> void ChilkatSample(void) { BOOL success; HCkRest rest; BOOL bAutoReconnect; HCkJsonObject json; HCkStringBuilder sb; HCkStringBuilder sbResp; success = FALSE; success = FALSE; rest = CkRest_Create(); // Connect using TLS. bAutoReconnect = TRUE; success = CkRest_Connect(rest,"chilkatsoft.com",443,TRUE,bAutoReconnect); // Load JSON containing the following Korean text. // { // "BillAddr": { // "Id": "239615", // "Line1": "류리하", // "Line2": "류리하류리하", // "City": "류리하류리하", // "Country": "US", // "CountrySubDivisionCode": "AK", // "PostalCode": "류리하" // } // } json = CkJsonObject_Create(); CkJsonObject_putEmitCompact(json,FALSE); success = CkJsonObject_LoadFile(json,"qa_data/json/korean.json"); if (success == FALSE) { printf("%s\n",CkJsonObject_lastErrorText(json)); CkRest_Dispose(rest); CkJsonObject_Dispose(json); return; } success = CkRest_AddHeader(rest,"Content-Type","application/json; charset=UTF-8"); sb = CkStringBuilder_Create(); CkJsonObject_EmitSb(json,sb); CkStringBuilder_Encode(sb,"unicodeescape","utf-8"); printf("%s\n",CkStringBuilder_getAsString(sb)); // The StringBuilder contains this: // { // "BillAddr": { // "Id": "239615", // "Line1": "\ub958\ub9ac\ud558", // "Line2": "\ub958\ub9ac\ud558\ub958\ub9ac\ud558", // "City": "\ub958\ub9ac\ud558\ub958\ub9ac\ud558", // "Country": "US", // "CountrySubDivisionCode": "AK", // "PostalCode": "\ub958\ub9ac\ud558" // } // } sbResp = CkStringBuilder_Create(); success = CkRest_FullRequestSb(rest,"POST","/echo_request_body.asp",sb,sbResp); if (success == FALSE) { printf("%s\n",CkRest_lastErrorText(rest)); CkRest_Dispose(rest); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sb); CkStringBuilder_Dispose(sbResp); return; } // Show the response. printf("Json Response: %s\n",CkStringBuilder_getAsString(sbResp)); CkRest_Dispose(rest); CkJsonObject_Dispose(json); CkStringBuilder_Dispose(sb); CkStringBuilder_Dispose(sbResp); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.