PHP返回的json,Obj-C解析的一个例子

来源:互联网 发布:无线网无网络访问权限 编辑:程序博客网 时间:2024/06/07 21:57

PHP返回的json,Obj-C无法解析  


PHP代码如下:

<?php

$arr = array(   


'name' =>'abc',  


'nick' => 'bbc'


);


$json_string = json_encode($arr);   


echo $json_string; 

?>

只是简单的返回一串json,OC代码如下:


    NSString *name = _username.text;

    NSString *pass = _password.text;

    NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8888/login.php"];

    NSLog(@"%@",url);    

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

    [request setHTTPMethod:@"POST"];

    NSString *str = [NSString stringWithFormat:@"name=%@&pass=%@",name,pass];

    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

    [request setHTTPBody:data];

    NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

     NSError *error;

    NSDictionary *result = [NSJSerialization JSONObjectWithData:received options:NSJSONReadingAllowFragments error:&error];

    NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];

    NSLog(@"%@",str1);

    NSLog(@"%@",error);


打印出的日志是这样:

2014-03-04 10:17:17.179 word[50534:70b] http://127.0.0.1:8888/login.php

2014-03-04 10:17:17.469 word[50534:70b] string{"name":"abc","nick":"bbc"}

2014-03-04 10:17:17.470 word[50534:70b] Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 0.) UserInfo=xxxxxxxx {NSDebugDescription=Invalid value around character 0.}


有人遇到过吗?折腾了好几个小时,完全没有进展。


你的php返回内容应该是{"name":"abc","nick":"bbc"}, 而不是string{"name":"abc","nick":"bbc"}

由于多了一个string, 因此json解析失败了


0 0
原创粉丝点击