从NSObject生成JSON

时间:2012-05-18 10:34:01

标签: objective-c json ios

我有一个包含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}

1 个答案:

答案 0 :(得分:0)

使用json.org中的一个预先推出的解决方案。