작업을 직렬화하기 위해 jsonmodel을 사용하고 있습니다. 나는 서버에 포스트를 보내고 json 데이터를 얻는다. 이 객체에 데이터를 deserialize합니다.jsonmodel deserialize 객체
#import <Foundation/Foundation.h>
#import "JSONModel.h"
@interface ResultObject : JSONModel
@property (strong, nonatomic) NSObject<Optional> *Data;
@property (strong, nonatomic) NSString *ResultCode;
@property (strong, nonatomic) NSString *ResultMessage;
@property (strong, nonatomic) NSObject<Optional> *Exception;
@end
간단한 데이터를 얻을 수 있습니다. 부울 값이나 문자열과 같습니다. 하지만 데이터를 내 사용자 지정 개체로 캐스팅하려고합니다. 데이터가 손상되었습니다. 이 코드를 사용하여 전송합니다.
ResultObject *resultObject = [[ResultObject alloc]initWithString:result error:&error];
NSString *returnAnswer = [NSString stringWithFormat:@"%@",resultObject.Data];
LanguagePack *pack =[[LanguagePack alloc]initWithString:returnAnswer usingEncoding:NSASCIIStringEncoding error:&error];
콜론 (:) 등호 (=로 변경) 및 코마 (세미콜론 (로) 변경 함) returnAnswer 그래서 "팩"의 널이다. json 데이터를 비 직렬화 할 수 없습니다.
이 내 LanguagePack
@interface LanguagePack : JSONModel
@property(strong,nonatomic) NSArray<LanguageString> *Data;
@end
이며,이
@protocol LanguageString;
@interface LanguageString : JSONModel
@property (strong, nonatomic) NSString *DataKey;
@property (strong, nonatomic) NSString *DataValue;
@property (strong, nonatomic) NSString *DataDescription;
@property (strong, nonatomic) NSString *DataLanguage;
@end
내 문제는 내 LanguageString입니다 나는 내 사용자 정의 개체에 NSObject의 (데이터) 내부의 JSON 데이터를 역 직렬화 할 수있는 방법?
편집 주 : 내가 ResultObject.Data 볼 때 14 개체가 (해야으로)하지만 모든 객체에 오류가 있습니다
기대 ']'오류 :이 같은 1 오류 분석 발현
을 .
으로 변경하고 NSObject<Optional> *Data
에서 NSArray<LanguageString> *Data
으로 변경하면 제대로 작동합니다. 하지만 NSObject 같은 제네릭 형식이 필요합니다. 도움 내 영어 감사에 대한
{
"Data":[
{
"DataKey":"AppTemplate.CancelButton.Text",
"DataValue":"Iptal",
"DataDescription":"",
"DataLanguage":"TR"
},
{
"DataKey":"Exception.Code.07",
"DataValue":"SMS dogrulama kodu hatali ya da zaman asimina ugramis.",
"DataDescription":"SmsVerificationCodeNotVerifiedException",
"DataLanguage":"TR"
},
{
"DataKey":"Exception.Code.11",
"DataValue":"Geçersiz dil bilgisi.",
"DataDescription":"InvalidLanguageException",
"DataLanguage":"TR"
}
],
"ResultCode":"00",
"ResultMessage":"Success",
"Exception":null
}
죄송합니다
내 JSON.
질문에 json을 추가하십시오. – sagnymine
아니요 일하고있어. 같은 문제. "dataStr"이 정확합니다. 하지만 "응답"의 "데이터"가 손상되었습니다. – sagnymine
http://imgur.com/4eyEJmO – sagnymine