2013-03-07 245 views
1

我正在创建一个简单的登录页面。在我的项目中,我想解析json字符串。但它给了我下面的错误。Json解析失败

-JSONValue failed. Error trace is: (
"Error Domain=org.brautaset.JSON.ErrorDomain Code=4 
\"Valid fragment, but not JSON\" 
UserInfo=0xa6e70a0 {NSLocalizedDescription=Valid fragment, but not JSON}" 

在我的代码,如果我把另一个json字符串比它工作。而且我的原始json字符串正在给我浏览器中的数据。那么该怎么办?

我的代码是:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://dev.bevbucks.com/gbs/api.json/[email protected]&pwd=verma!pris"]]; 
NSURLResponse *response = nil; 
NSError *error = nil; 
//getting the data 
NSData *newData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
//json parse 

NSString *responseString = [[NSString alloc] initWithData:newData encoding:NSUTF8StringEncoding]; 
NSDictionary *jsonObject = [responseString JSONValue]; 
NSLog(@"type : %@", jsonObject ); 
+3

请把JSON,和你的代码... – 2013-03-07 13:12:25

+0

@ V.J。请检查我的代码... – Sam 2013-03-07 13:16:55

+0

这个返回“60ee094456b6fc03f386af50c443b471”,这是一个错误的JSON合成... – 2013-03-08 05:32:28

回答

2

返回的字符串:

"60ee094456b6fc03f386af50c443b471" 

不是有效的JSON,并且应该至少为:

[ "60ee094456b6fc03f386af50c443b471" ] 

所以有一个bug在服务器中,而不是你的代码。如果你不能修复这个bug,那么你将不得不解决它。

JSON.org

JSON是建立在两个结构:

  • 名称/值对的集合。在各种语言中,这是 实现为对象,记录,结构,字典,散列表,键列表或关联数组。

  • 值的有序列表。在大多数 语言中,这被实现为数组,矢量,列表或序列。

+0

得到这个兄弟...即时给你1 ... – Sam 2013-03-07 13:34:31

+0

@Sam你认为你”解决了吗?其实我不认为我的答案是正确的,我相信这个问题是缺乏“接受编码”的HTTP请求头... – trojanfoe 2013-03-07 13:46:30

+0

@Sam我刚刚重试使用*邮递员*并获得相同的回应与和没有'Accept:application/json'集合,所以看起来我可能是对的。 – trojanfoe 2013-03-07 13:54:49