Objective c 从NSObject生成JSON

Objective c 从NSObject生成JSON,objective-c,json,ios,Objective C,Json,Ios,我有一个复杂的对象,其中包含NSString、NSArray、BOOL等类型的ivar。我需要将它们转换为JSON 我目前正在为NSObject的每个值设置键(尽管键与NSObject的属性相同),如下所示:- [crEntityDict setObject:[[MyObjectName sharedObject] vinNumber] forKey:@"vinNumber"]; [crEntityDict setObject:[[MyObjectName sharedObject] make]

我有一个复杂的对象,其中包含NSString、NSArray、BOOL等类型的ivar。我需要将它们转换为JSON

我目前正在为NSObject的每个值设置键(尽管键与NSObject的属性相同),如下所示:-

[crEntityDict setObject:[[MyObjectName sharedObject] vinNumber] forKey:@"vinNumber"];
[crEntityDict setObject:[[MyObjectName sharedObject] make] forKey:@"make"];
MyObjectName是一个单例对象,具有与此处设置的键相同的属性。我就是找不到如何将这个对象直接转换成属性名称作为键,属性值作为值的NSDictionary

有没有更好更简单的方法

编辑 下面是我试图转换为JSON的NSObject的完整头文件代码:- 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;
#导入
@接口MyObject名称:NSObject
{
NSString*VIN编号,*品牌,*型号;
国际里程;
布尔是目前的关键;
}
@属性(非原子,强)NSString*vinNumber、*make、*model;
@属性(非原子,赋值)整数里程;
@属性(非原子,赋值)布尔isKeyPresent;
+(MyObjectName*)sharedObjectName;
如何直接将此对象转换为JSON表示,而无需再次创建NSDictionary,方法是设置与IVAR同名的键的值,将属性名称设置为键,将属性值设置为值,如:
{“vinNumber”:“make”:make\u value\u string,“model”:model\u value\u string,“miliner”:miliner\u value\u int,“isKeyPresent”:isKeyPresent\u value\u bool}使用其中一个预滚解决方案。

我觉得你在构建上面的词典。你想要一些不同的东西吗?用更多的细节编辑了我的问题。你能看一下吗?我不确定有没有工具可以做到这一点。当然,您可以提供
JSONString
的实现,或者您选择的JSON工具包使用的任何动词,但您仍然必须以这种或那种方式在内部完成这项工作。请参见我的示例。从nsobject生成json的最佳方法