Swift
Swift
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 Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let json = CkoJsonObject()!
success = json.loadFile(path: "qa_data/json/jsonBodyForHttpPost.json")
if success == false {
print("\(json.lastErrorText!)")
return
}
let http = CkoHttp()!
let resp = CkoHttpResponse()!
success = http.httpJson(verb: "POST", url: "https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums", json: json, contentType: "application/json", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
let jsonResp = CkoJsonObject()!
jsonResp.load(json: resp.bodyStr)
jsonResp.emitCompact = false
print("\(jsonResp.emit()!)")
// 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.
var lifeAmount: String? = jsonResp.string(of: "LifeAmount")
var lifeResidualAmount: String? = jsonResp.string(of: "LifeResidualAmount")
print("LifeAmount = \(lifeAmount!)")
print("LifeResidualAmount = \(lifeResidualAmount!)")
}