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

Go
    success := false

    success = false

    rest := chilkat.NewRest()

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

    json := chilkat.NewJsonObject()
    json.SetEmitCompact(false)
    success = json.LoadFile("qa_data/json/korean.json")
    if success == false {
        fmt.Println(json.LastErrorText())
        rest.DisposeRest()
        json.DisposeJsonObject()
        return
    }

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

    sb := chilkat.NewStringBuilder()
    json.EmitSb(sb)
    sb.Encode("unicodeescape","utf-8")

    fmt.Println(*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"
    //    }
    //  }

    sbResp := chilkat.NewStringBuilder()
    success = rest.FullRequestSb("POST","/echo_request_body.asp",sb,sbResp)
    if success == false {
        fmt.Println(rest.LastErrorText())
        rest.DisposeRest()
        json.DisposeJsonObject()
        sb.DisposeStringBuilder()
        sbResp.DisposeStringBuilder()
        return
    }

    //  Show the response. 
    fmt.Println("Json Response: ", *sbResp.GetAsString())

    rest.DisposeRest()
    json.DisposeJsonObject()
    sb.DisposeStringBuilder()
    sbResp.DisposeStringBuilder()