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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final rest = CkRest();

  // Connect using TLS.
  final bAutoReconnect = true;
  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": "류리하"
  //     }
  // }

  final json = CkJsonObject();
  json.emitCompact = false;
  try {
    json.loadFile('qa_data/json/korean.json');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  final sb = CkStringBuilder();
  json.emitSb(sb);
  sb.encode('unicodeescape', 'utf-8');

  print(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"
  //   }
  // }

  final sbResp = CkStringBuilder();
  try {
    rest.fullRequestSb('POST', '/echo_request_body.asp', sb, sbResp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // Show the response. 
  print('Json Response: ${sbResp.getAsString()}');
}