문자열을 json 개체로 변환하려고하고 있는데 이것이 작동하지 않는 이유가 확실하지 않습니다. 내가 출력을 nslog 할 때 urldata가 json serialization에 유효하지 않지만 유효한 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