Sample code for 30+ languages & platforms
React Native 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 React Native Downloads

React Native
import { JsonObject, Rest, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  const rest = new Rest();

  // Connect using TLS.
  const bAutoReconnect = true;
  await rest.connectAsync('chilkatsoft.com', 443, true, bAutoReconnect);

  // Load JSON containing the following Korean text.

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

  const json = new JsonObject();
  json.emitCompact = false;
  try {
    json.loadFile('qa_data/json/korean.json');
  } catch {
    console.log(json.lastErrorText);
    return;
  }

  rest.addHeader('Content-Type', 'application/json; charset=UTF-8');

  const sb = new StringBuilder();
  json.emitSb(sb);
  sb.encode('unicodeescape', 'utf-8');

  console.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"
  //   }
  // }

  const sbResp = new StringBuilder();
  try {
    await rest.fullRequestSbAsync('POST', '/echo_request_body.asp', sb, sbResp);
  } catch {
    console.log(rest.lastErrorText);
    return;
  }

  // Show the response. 
  console.log(`Json Response: ${sbResp.getAsString()}`);
}