0
그래서 나는 다음이오류 : JSON에 잘못된 최상위 타입이 쓰기
NSData *postData = [NSJSONSerialization dataWithJSONObject:postDataObject
options:0 // Pass 0 if you don't care about the readability of the generated string
error: &error];
할이와
- (NSDictionary *) createPostData{
NSMutableDictionary * requestDictionary = [[NSMutableDictionary alloc]init];
[requestDictionary setValue:@"type://someStuff" forKey: @"$type"];
[requestDictionary setValue:@"account" forKey:@"Widget"];
NSMutableDictionary* messageDictionary = [[NSMutableDictionary alloc] init];
[messageDictionary setValue:@"type://someStuff" forKey:@"$type"];
[messageDictionary setValue: self.password forKey:@"Password"];
[messageDictionary setValue:false forKey:@"RememberMe"];
[requestDictionary setValue:messageDictionary forKey:@"Message"];
return requestDictionary;
}
을 dictionary- 반환과 같은 사전을 생성하는 기능을 가지고 그리고이 오류가 발생합니다 -
Error - *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write
내가 왜 내가 규칙을 구독하고 있다고 생각하기 때문에 나는 정말로 볼 수 없습니다. documentation - 모든 키는 문자열이며 NSDictionary 및 NSString 인스턴스 만 사용합니다.
무슨 일 이니?
당신은 postDataObject'이 제대로 게시 메소드의 반환 값을 할당'확실한가요? 당신은 콘솔에서 그것을 검사하고 여기에 결과를 게시 할 수 있습니까? –
사전을 dataWithJSONObject에 NSLog 로그인하십시오. setValue : false는 내부 사전의 조기 종료를 유발합니다. 'setValue : @ (false)' –
'[messageDictionary setValue : false forKey : @ "RememberMe"];''@ "RememberMe"''messageDictionary'의 키 객체를 제거합니다. 실제로 값을 설정하려면'@ NO '를 사용하십시오. – Sebastian