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

Rust

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

let json = chilkat::JsonObject::new();

if json.load_file("qa_data/json/jsonBodyForHttpPost.json").is_err() {
    println!("{}", json.last_error_text());
    return;
}

let http = chilkat::Http::new();

let resp = chilkat::HttpResponse::new();
if http.http_json("POST", "https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums", &json, "application/json", &resp).is_err() {
    println!("{}", http.last_error_text());
    return;
}

let json_resp = chilkat::JsonObject::new();
let _ = json_resp.load(&resp.body_str());

json_resp.set_emit_compact(false);
println!("{}", json_resp.emit().unwrap_or_default());

// 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.  
let life_amount = json_resp.string_of("LifeAmount").unwrap_or_default();
let life_residual_amount = json_resp.string_of("LifeResidualAmount").unwrap_or_default();

println!("LifeAmount = {}", life_amount);
println!("LifeResidualAmount = {}", life_residual_amount);