自分のカスタムクラスをJSONシリアル化したいと思います。私はObjective-C/iOS5で働いています。次のことをしたいのですが。
Person* person = [self getPerson ]; // Any custom object, NOT based on NSDictionary
NSString* jsonRepresentation = [JsonWriter stringWithObject:person ];
Person* clone = [JsonReader objectFromJson: jsonRepresentation withClass:[Person Class]];
NSJSONSerialization(および他のいくつかのライブラリ)では、「person」クラスがNSDictionaryなどに基づいている必要があるようです。定義したいカスタムオブジェクトを(理由の範囲内で)シリアル化するものが必要です。
Person.hが次のようになっていると想像してみましょう。
#import <Foundation/Foundation.h>
@interface Person : NSObject
@property NSString* firstname;
@property NSString* surname;
@end
インスタンス用に生成されたJSONを次のようにしたいと思います。
{"firstname":"Jenson","surname":"Button"}
私のアプリはARCを使用しています。オブジェクトを使用してシリアル化と逆シリアル化の両方を行うものが必要です。
どうもありがとう。