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

PHP ActiveX
<?php

$success = 0;

$success = 0;

$rest = new COM("Chilkat.Rest");

//  Connect using TLS.
$bAutoReconnect = 1;
$success = $rest->Connect('chilkatsoft.com',443,1,$bAutoReconnect);

//  Load JSON containing the following Korean text.

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

$json = new COM("Chilkat.JsonObject");
$json->EmitCompact = 0;
$success = $json->LoadFile('qa_data/json/korean.json');
if ($success == 0) {
    print $json->LastErrorText . "\n";
    exit;
}

$success = $rest->AddHeader('Content-Type','application/json; charset=UTF-8');

$sb = new COM("Chilkat.StringBuilder");
$json->EmitSb($sb);
$sb->Encode('unicodeescape','utf-8');

print $sb->getAsString() . "\n";

//  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 = new COM("Chilkat.StringBuilder");
$success = $rest->FullRequestSb('POST','/echo_request_body.asp',$sb,$sbResp);
if ($success == 0) {
    print $rest->LastErrorText . "\n";
    exit;
}

//  Show the response. 
print 'Json Response: ' . $sbResp->getAsString() . "\n";

?>