2013-03-07 241 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