I am having trouble parsing data sent to a php webservice. I am using the following code to get the json:
$decoded = json_decode(file_get_contents('php://input'));
if(is_null($decoded) == NULL)
{
$body = "Data was not successfully received";
$body = $body . " " . $jsonInput;
}
The json is sent from an iOS application and looks like the following:
{
"water" : "YES",
"int_clean" : "YES",
"ceiling_stains" : "YES",
"additional_comments" : "not entered",
"roof_cond" : "YES",
"e_clean" : "YES",
"interior_cond" : "not entered",
"no_exp" : "not entered",
"addr" : "YES",
"roof_leak" : "YES",
"doors_sec" : "YES",
"elec" : "YES",
"ceiling_exp" : "not entered",
"repaired" : "YES",
"o_desc" : "not entered",
"w_sign" : "YES",
"o_cond" : "not entered",
"int_cond" : "YES",
"gas" : "YES",
"for_sale_sign" : "YES",
"sold_as_is" : "YES",
"mb_sign" : "YES",
"graffiti" : "YES",
"date" : "18-12-2012 18:58",
"dewinterized" : "YES",
"HVAC" : "YES",
"why_no_mat" : "not entered",
"is_lockbox" : "YES",
"financing_mat" : "YES",
"yard_cond" : "YES",
"marketing_mat" : "YES",
"HVAC_missing" : "not entered",
"agent_info" : "YES",
"e_cond" : "YES",
"e_key" : "YES",
"pool_sec" : "YES",
"pool_clean" : "YES"
}
And sending it with this code:
NSDictionary * info = [NSDictionary dictionaryWithObjects:values forKeys:keys];
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:info options:NSJSONWritingPrettyPrinted error:&error];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://uofi-bars.com/sendEmail.php"]];
[req addValue:@"Content-Type: application/json" forHTTPHeaderField: @"Content-Type"];
[req setHTTPMethod:@"POST"];
[req setHTTPBody:jsonData];
[NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];
I am completely new to php and this has been giving me a headache for quite some time. Any help would be appreciated!
This is not correct
if(is_null($decoded) == NULL).PHP is_nullreturns abooleanvalue. So you need to be usingif(is_null($decoded) === FALSE)orif(is_null($decoded) === TRUE).