我正在使用jsonmodel进行序列化操作。我发送帖子到服务器并获取json数据。我将数据反序列化到这个对象。jsonmodel反序列化对象
#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
,这是我LanguageString
@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
我的问题是,我怎么能NSObject的(数据)里面的JSON数据反序列化到我的自定义对象?
编辑注意:当我看到ResultObject.Data它有14个对象(如应该是),但每个对象都有一个错误:
预期“]”错误:1个错误解析表达
这样。
如果我将NSObject<Optional> *Data
更改为NSArray<LanguageString> *Data
它可以正常工作。但我需要像NSObject一样的泛型类型。
的json
{
"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添加到问题 – sagnymine
它不是不工作。一样的问题。 “dataStr”是正确的。但“响应”中的“数据”已损坏。 – sagnymine
http://imgur.com/4eyEJmO – sagnymine