Sample code for 30+ languages & platforms
Ruby Requires Chilkat v11.0.0+

HTTP POST JSON and Parse JSON Response

See more HTTP Examples

Demonstrates how to send a JSON POST and then parse the JSON response.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

#  This example assumes the Chilkat API to have been previously unlocked.
#  See Global Unlock Sample for sample code.

json = Chilkat::CkJsonObject.new()

success = json.LoadFile("qa_data/json/jsonBodyForHttpPost.json")
if (success == false)
    print json.lastErrorText() + "\n";
    exit
end

http = Chilkat::CkHttp.new()

resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST","https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums",json,"application/json",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

jsonResp = Chilkat::CkJsonObject.new()
jsonResp.Load(resp.bodyStr())

jsonResp.put_EmitCompact(false)
print jsonResp.emit() + "\n";

#  The JSON response to be parsed looks like this:
#  {
#    "LifeAmount": 513.85,
#    "LifeResidualAmount": 123.38,
#    "CriticalIllnessAmount": 0,
#    "CriticalIllnessResidualAmount": 0,
#    "DisabilityAmount": 881.70,
#    "PolicyFee": 0.00,
#    "PolicyFeeSecondary": 0,
#    "PolicyFeeHidden": 50.00,
#    "PolicyFeeHiddenSecondary": 0
#  }

#  We can get the floating point numbers as strings.  Then convert to double
#  using the appropriate string-to-double conversion for your programming language.
#  For example, in C++ use atof.  In C# use Convert.ToDouble.  
lifeAmount = jsonResp.stringOf("LifeAmount")
lifeResidualAmount = jsonResp.stringOf("LifeResidualAmount")

print "LifeAmount = " + lifeAmount + "\n";
print "LifeResidualAmount = " + lifeResidualAmount + "\n";