我有一个包含NSString,NSArray,BOOL等类型的ivars的复杂对象。我需要将它们转换为JSON。
我目前正在做的是为每个NSObject值设置密钥(尽管密钥与NSObject的属性相同),如下所示: -
[crEntityDict setObject:[[MyObjectName sharedObject] vinNumber] forKey:@"vinNumber"];
[crEntityDict setObject:[[MyObjectName sharedObject] make] forKey:@"make"];
MyObjectName是一个Singleton对象,具有与此处设置的键相同的属性。我只是找不到如何将此对象直接转换为NSDictionary,其属性的名称为Keys,属性的值为Values。
有没有更好,更简单的方法呢?
修改 这是我试图转换为JSON的NSObject的完整Header文件代码: - MyObjectName.h
#import <Foundation/Foundation.h>
@interface MyObjectName : NSObject
{
NSString *vinNumber,*make,*model;
int mileage;
BOOL isKeyPresent;
}
@property (nonatomic,strong) NSString *vinNumber,*make,*model;
@property (nonatomic,assign) int mileage;
@property (nonatomic,assign) BOOL isKeyPresent;
+ (MyObjectName *)sharedObjectName;
如何通过设置与ivars具有相同名称的键的值,将此Object直接转换为JSON表示,而无需再次创建NSDictionary,其属性名称为Keys,属性值为Values,如: 的 { “vinNumber”: “使”:make_value_string, “模型”:model_value_string, “里程”:mileage_value_int, “isKeyPresent”:isKeyPresent_value_bool}