Sample code for 30+ languages & platforms
Ruby

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";