gpt4 book ai didi

objective-c - iOS中NSOrderedSet的JSON序列化

转载 作者:行者123 更新时间:2023-12-01 19:20:36 24 4
gpt4 key购买 nike

对于将NSOrderedSets序列化和反序列化为JSON,我有哪些选择?我正在使用iOS5 / Objective-C。我想我可以自己动手,但我假设那里已有一些良好的现有框架...

最佳答案

您唯一的选择可能是获得对OpenSource库的访问权,并查看JSON序列化程序是如何实现的代码。然后,您可以根据需要扩展库。 “扩展”是指您应该从现有库中尽可能多地利用数据,因为从头开始创建自己的序列化器可能需要很多工作。

通常,JSON库定义JSON类型和相应的Objective-C类型(类)之间的映射。例如,JSON数组映射到NSArray / NSMutableArray,JSON对象映射到NSDictionary / NSMutableDictionary,等等。

因此,“JSON序列化程序”将“知道”如何将“映射的” Objective-C对象序列化为JSON元素。实现此行为的一种方法是将类别添加到映射的Objective-C类。

因此,“扩展库”(取决于库和实现)时,仅为自定义类添加一个Category并相应地实现它就足够了。

我是JSON库的作者。为自定义类创建类别,然后可以在JSON序列化程序中使用它并不需要那么多精力。您可以在“增强”请求中指定您的需求,因此我可以调整库以使其更轻松地添加定制类。

您的类别如下所示:

@interface NSOrderedSet (JPJsonWriter) <JPJsonWriterInserterProtocol>
@end

@implementation NSOrderedSet (JPJsonWriter)

- (int) JPJsonWriter_insertIntoBuffer:(NSMutableDataPushbackBuffer*)buffer
encoding:(JPUnicodeEncoding)encoding
options:(JPJsonWriterOptions)options
level:(NSUInteger)level
{
return insertJsonArray(self, buffer, encoding, options, level);
}

@end

实际上,这是您要做的所有事情-对我的媒体库进行了一些调整之后。但是请注意:这取决于您使用的JSON库。您可以在 here上找到我的JSON库。请提出增强请求-谢谢。

关于objective-c - iOS中NSOrderedSet的JSON序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10495698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com