FAJsonParser 0.1.3

FAJsonParser 0.1.3

fadi 维护。



  • fadizant

FAJsonParser

CI Status Version License Platform

关于

FAJsonParser 可以将您的 JSON 数据填充到您的对象中,匹配 JSON 键与属性名称或 getter 名称。
FAJsonParser 使用 ObjC 运行时来解析数据,因此您需要在使用 Swift4 时使用 @objc。
您可以使用继承,FAJsonParser 可以检测超类。
FAJsonParser 只能解析 NSObject。通过键从 UserDefaults 保存和加载对象。JsonParser 可以填充 JSON 值到您的属性中,甚至它们之间类型不同也能由类型转换(String 到 Int / Int 到 String)完成。

声明属性

ObjC

1 - 您可以使用属性名称作为 JSON 键

@property (nonatomic,retain) NSString *text;  

2 - 您可以使用 getter 名称作为 JSON 键

@property (nonatomic,retain,getter=created_at) NSString *createdAt; 

3 - 您必须使用 setter 名称来声明数组元素的类型

@property (nonatomic,retain,setter=Url:) NSArray *urls; 

4 - 对于数字类型(Int,Float,Long ... 等),使用 NSNumber 作为元素类型

@property (nonatomic,retain,setter=NSNumber:) NSArray *marks; 

Swift4

1 - 你必须在类中添加 @objc 和类名,以便 Objective-C 运行时可以处理类信息

@objc (FAObject_Swift) class FAObject_Swift: NSObject {}

2 - 你可以使用属性名作为 JSON 键

@objc var text = "" 

3 - 你可以使用 Getter 名称作为 JSON 键

@objc (created_at)
var createdAt = ""

4 - 你必须使用此格式声明数组元素类型("JSON 键"$"类名"),并与后端合作伙伴协商,以避免在 JSON 键中使用任何 `$` 分隔符 ;)

@objc (urls$Url)
var urls = Array<Url>()

5 - 对于数字类型(Int, Float, Long 等),请使用 NSNumber 作为元素类型 "类名"

@objc (marks$NSNumber)
var marks = Array<Int>()

6 - 有一些属性名不能用于或重写 NSObject,你必须使用此格式设置此属性的 Getter 名称("JSON 键"$"属性名")

@objc (description$Description)
var Description = ""

如何使用

ObjC

    // parse JSON to object
    FAObject *object = [FAObject new];
    NSError *error;
    [dict FillThisObject:object Error:&error];
    
    if (!error) {
        // Save object in UserDefaults
        NSLog(@"Object saved ? %@",[object SaveWithKey:@"objectKey"]  ? @"YES" : @"NO");
        
        //load object from UserDefaults
        FAObject *newObject = [FAObject new];
        NSLog(@"Object loaded ? %@",[newObject LoadWithKey:@"objectKey"]  ? @"YES" : @"NO");
        
        // generate dictionary from object
        NSDictionary *dictFromObject = [newObject Dictionary:&error];
        if (!error)
        {
            NSLog(@"%@", dictFromObject.description);
        }
    }

Swift4

    // parse JSON to object
    let object = FAObject_Swift()
    
    // fill JSON to object
    dict.fillThisObject(object)
    
    // Save object in UserDefaults
    print("Object saved ? \(object.save(withKey: "objectKey_swift") ? "True" : "False")")
    
    //load object from UserDefaults
    let newObject = FAObject_Swift()
    print("Object loaded ? \(newObject.load(withKey: "objectKey_swift") ? "True" : "False")")
    
    // generate dictionary from object
    let dictFromObject = newObject.dictionary()
    
    // print dictionary
    print(dictFromObject?.description ?? "")

安装

FAJsonParser 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'FAJsonParser'

作者

法迪赞特, [邮箱地址1保密]

授权

FAJsonParser遵循MIT授权协议。有关更多信息,请参阅LICENSE文件。