Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoJsonObject.h>
#import <CkoHttp.h>
#import <CkoHttpResponse.h>
#import <NSString.h>

BOOL success = NO;

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

CkoJsonObject *json = [[CkoJsonObject alloc] init];

success = [json LoadFile: @"qa_data/json/jsonBodyForHttpPost.json"];
if (success == NO) {
    NSLog(@"%@",json.LastErrorText);
    return;
}

CkoHttp *http = [[CkoHttp alloc] init];

CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: @"https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums" json: json contentType: @"application/json" response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

CkoJsonObject *jsonResp = [[CkoJsonObject alloc] init];
[jsonResp Load: resp.BodyStr];

jsonResp.EmitCompact = NO;
NSLog(@"%@",[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.  
NSString *lifeAmount = [jsonResp StringOf: @"LifeAmount"];
NSString *lifeResidualAmount = [jsonResp StringOf: @"LifeResidualAmount"];

NSLog(@"%@%@",@"LifeAmount = ",lifeAmount);
NSLog(@"%@%@",@"LifeResidualAmount = ",lifeResidualAmount);