Ios 当对象具有内部对象时,如何将对象转换为JSON

Ios 当对象具有内部对象时,如何将对象转换为JSON,ios,objective-c,json,nsmutabledictionary,nsjsonserialization,Ios,Objective C,Json,Nsmutabledictionary,Nsjsonserialization,我有一个自定义类对象,其中包含用户对象: @interface Order : NSObject @property (nonatomic, retain) NSString *OrderId; @property (nonatomic, retain) NSString *Title; @property (nonatomic, retain) NSString *Weight; @property (nonatomic, retain) User *User - (NSMutableDic

我有一个自定义类对象,其中包含用户对象:

@interface Order : NSObject

@property (nonatomic, retain) NSString *OrderId;
@property (nonatomic, retain) NSString *Title;
@property (nonatomic, retain) NSString *Weight;
@property (nonatomic, retain) User *User
- (NSMutableDictionary *)toNSDictionary;
...
- (NSMutableDictionary *)toNSDictionary
{

    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
    [dictionary setValue:self.OrderId forKey:@"OrderId"];
    [dictionary setValue:self.Title forKey:@"Title"];
    [dictionary setValue:self.Weight forKey:@"Weight"];

    return dictionary;
}
toNSDictinary
函数中,我没有映射
User
对象。

在这种情况下,将对象转换为
nsdictionary
的好方法是什么?

修改
toNSDictionary
方法:

- (NSMutableDictionary *)toNSDictionary
{

    NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
    [dictionary setValue:self.OrderId forKey:@"OrderId"];
    [dictionary setValue:self.Title forKey:@"Title"];
    [dictionary setValue:self.Weight forKey:@"Weight"];

    NSMutableDictionary *userDictionary = [NSMutableDictionary dictionary];
    [userDictionary setValue:self.User.someProperty1 forKey:@"someProperty1"];
    [userDictionary setValue:self.User.someProperty2 forKey:@"someProperty2"];
    [dictionary setValue:userDictionary forKey:@"User"];

    return dictionary;
}
为密钥设置字典时,请尝试使用

[dictionary   setObject: forKey: ]

清楚你的问题
[dictionary   setObject: forKey: ]