Sample code for 30+ languages & platforms
B4X Requires Chilkat v11.1.0+

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 B4X Downloads

B4X
Dim success As Boolean = False

success = False

Dim rest As ChilkatRest
rest.Initialize("rest")

'  Connect using TLS.
Dim bAutoReconnect As Boolean = True
success = rest.Connect("chilkatsoft.com", 443, True, bAutoReconnect)

'  Load JSON containing the following Korean text.

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

Dim json As ChilkatJsonObject
json.Initialize
json.EmitCompact = False
success = json.LoadFile("qa_data/json/korean.json")
If success = False Then
    Log(json.LastErrorText)
    Return
End If


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

Dim sb As ChilkatStringBuilder
sb.Initialize
json.EmitSb(sb)
sb.Encode("unicodeescape", "utf-8")

Log(sb.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"
'    }
'  }

Dim sbResp As ChilkatStringBuilder
sbResp.Initialize
success = rest.FullRequestSb("POST", "/echo_request_body.asp", sb, sbResp)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


'  Show the response. 
Log("Json Response: " & sbResp.GetAsString)