Sample code for 30+ languages & platforms
Visual FoxPro

POST JSON to REST API with non-us-ascii Chars Escaped

See more REST Examples

Demonstrates how to POST to a REST API with non-usascii chars within JSON Unicode escaped.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loRest
LOCAL lnBAutoReconnect
LOCAL loJson
LOCAL loSb
LOCAL loSbResp

lnSuccess = 0

lnSuccess = 0

loRest = CreateObject('Chilkat.Rest')

* Connect using TLS.
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("chilkatsoft.com",443,1,lnBAutoReconnect)

* Load JSON containing the following Korean text.

*  {
*    "BillAddr": {
*       "Id": "239615",
*       "Line1": "류리하",
*       "Line2": "류리하류리하",
*       "City": "류리하류리하",
*       "Country": "US",
*       "CountrySubDivisionCode": "AK",
*       "PostalCode": "류리하"
*     }
* }

loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0
lnSuccess = loJson.LoadFile("qa_data/json/korean.json")
IF (lnSuccess = 0) THEN
    ? loJson.LastErrorText
    RELEASE loRest
    RELEASE loJson
    CANCEL
ENDIF

lnSuccess = loRest.AddHeader("Content-Type","application/json; charset=UTF-8")

loSb = CreateObject('Chilkat.StringBuilder')
loJson.EmitSb(loSb)
loSb.Encode("unicodeescape","utf-8")

? loSb.GetAsString()

* 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"
*   }
* }

loSbResp = CreateObject('Chilkat.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/echo_request_body.asp",loSb,loSbResp)
IF (lnSuccess = 0) THEN
    ? loRest.LastErrorText
    RELEASE loRest
    RELEASE loJson
    RELEASE loSb
    RELEASE loSbResp
    CANCEL
ENDIF

* Show the response. 
? "Json Response: " + loSbResp.GetAsString()

RELEASE loRest
RELEASE loJson
RELEASE loSb
RELEASE loSbResp