我在解析发送到php webservice的数据时遇到问题。我使用以下代码来获取json:
$decoded = json_decode(file_get_contents('php://input'));
if(is_null($decoded) == NULL)
{
$body = "Data was not successfully received";
$body = $body . " " . $jsonInput;
}
json是从iOS应用程序发送的,如下所示:
{
"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"
}
并使用此代码发送:
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];
我是php的新手,这让我头疼了很长一段时间。任何帮助将不胜感激!
答案 0 :(得分:1)
这不正确if(is_null($decoded) == NULL)
。 PHP is_null
返回boolean
值。因此,您需要使用if(is_null($decoded) === FALSE)
或if(is_null($decoded) === TRUE)
。