Sample code for 30+ languages & platforms
Go

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()