我想將一個字符串轉換成一個json對象,但我不確定爲什麼這不起作用。當我nslog輸出時,我被告知urldata不適用於json序列化,但是當查看字符串時,它在我看來像有效的json。我也嘗試編碼到utf8,但它仍然不會序列化。我在這裏錯過了什麼嗎? - 注意從帖子中省略不必要的代碼。解析JSON數據的問題
Get請求
urlData = [NSURLConnection sendSynchronousRequest:urlRequest
returningResponse:&response
error:&error];
NSDictionary *tempDict = [NSDictionary alloc];
解析
if ([NSJSONSerialization isValidJSONObject:urlData]) {
NSLog(@"is valid");
tempDict = [NSJSONSerialization JSONObjectWithData:urlData kniloptions error:&error];
}
NSLog(@"is not valid");
定義: isValidJSONObject: 返回一個布爾值,指示一個給定的對象是否可以被轉換爲JSON數據。
IsValidJsonObject聽起來像是錯誤的方法。聽起來像是在將對象轉換爲數據之前檢查對象。你想要相反的方向。 – Fogmeister
@Fogmeister:你可能是對的。不過,在我看來,在這種情況下,'isValidJSONObject'應該總是返回true。 (什麼使NSString不被JSON序列化?) – cHao
urlData是一個NSData對象。你不能將一個NSData對象編碼成JSON數據。他正在檢查對象的編碼。他需要檢查解碼對象。 – Fogmeister