繁体   English   中英

数据通过ios传递时json_decode返回null

[英]json_decode return null when data pass through ios

这个问题非常棘手。 当我通过使用AFNetworking通过IOS传递json数据时。 服务器还返回空值。 但是,我使用curl来测试服务器端,结果是正确的。 我不知道这个问题。

这是服务器代码:

        $response['return'] = $data;

        if (get_magic_quotes_gpc()) {
            $data = stripslashes($data);
        }

        $response['sssss'] = $data;

        $data = json_decode($data, TRUE);
        $response['return json'] = $data ? $data : 'dddddddd';

        $json_errors = array(
            JSON_ERROR_NONE => 'No error has occurred',
            JSON_ERROR_DEPTH => 'The maximum stack depth has been exceeded',
            JSON_ERROR_CTRL_CHAR => 'Control character error, possibly incorrectly encoded',
            JSON_ERROR_SYNTAX => 'Syntax error',
        );
        $response['json error'] = $json_errors[json_last_error()];

        $response['p'] = $data->name;

        $response['d'] = 'test';

ios代码:

        NSURL *url = [NSURL URLWithString:@"myapi"];
        AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
        [httpClient setDefaultHeader:@"Accept" value:@"application/json"];
        [httpClient registerHTTPOperationClass:[AFJSONRequestOperation class]];
        [httpClient setParameterEncoding:AFJSONParameterEncoding];

        NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:dishParameter,@"dish", nil];
        [httpClient postPath:@"dish" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

            for (id key in responseObject) {
                NSLog(@"key:%@   value:%@", key, [responseObject objectForKey:key]);
            }


        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             NSLog(@"error:%@",error);
        }];

响应说没有语法错误,服务器可以获取盘参数的值。 但是当$ data通过stripslashes函数时,$ data变为null。

有人可以给我一些建议吗?

$data字符串类型吗? 为什么要从JSON中删除斜杠? 您拧紧语法。 不要那样做。 json_decode返回null,因为它是无效的JSON格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM