RestKit是唯一具有JSON到Objective-C对象映射的框架吗?

| 我正在寻找一个将JSON转换为Objective-C关系对象的库或框架。 即我需要将包含对象,对象数组和对象字典的JSON映射到我的自定义对象。 就像是:
DataObject {
    \"user\" : {
        \"name\":\"Peter\",
        \"id\":1234
    }
    \"place\": \"UK\"
    \"job\": {
        \"title\" : \"CTO\",
        \"salary\" : 1234567
    }
    \"employess\": [
        {
            \"name\":\"Carlton\",
            \"id\":1235
        },
        {
            \"name\":\"Hugo\",
            \"id\":12346
        }]
}
因此,有一个DataObject,一个UserObject和一个由UserObjects组成的雇员数组。 我希望从JSON到我的DataObject的映射可以“自动”进行,这当然是因为我想描述对象类以及Object类中的关系,并以此完成映射,而不是手动映射每个嵌套对象。 (使用setValue:forKey和其他KVO方法可以轻松完成第一级本机Objective-C属性,但是从那里开始变得很复杂)。 我一直在测试RestKit,但似乎无法从该框架中选择所需的功能,它要么全部,要么全部都不选,我发现它确实满足了我的需求。 有人熟悉图书馆等可以做到这一点吗? 先感谢您。     
已邀请:
        您上面发布的内容不是有效的JSON。如果您将其设为有效的JSON,那么如果没有特定的架构(例如,
{
    \"DataObject\": {
        \"user\": {
            \"name\": \"Peter\",
            \"id\": 1234
        },
        \"place\": \"UK\",
        \"job\": {
            \"title\": \"CTO\",
            \"salary\": 1234567
        }
    }
}
Dataobject是字典还是Object?用户或工作呢? User是NSUser的实例,Job是NSDictionary? 另一方面,如果您具有已知的架构,则:
[
    {
        \"class\": \"DataObject\",
        \"properties\": {
            \"user\": {
                \"class\": \"User\",
                \"properties\": {
                    \"name\": \"Peter\",
                    \"id\": 1234
                }
            },
            \"place\": \"UK\",
            \"job\": {
                \"title\": \"CTO\",
                \"salary\": 1234567
            }
        }
    }
]
您不需要框架,因为一旦有了有效的JSON,就可以轻松地自己映射到对象。伪代码:-
createWithDict(dict) {
    var newOb = create new(dict[\"class\"]);
    dict.properties.each( val, key ) {
        if(val is dictionary && val.hasproperty(\"class\"))
            val = createWithDict(val)
        newOb[key] = val
    }   
    return newOb;
} 
    
        要将JSON映射到Objective-C对象,我尝试过RestKit。我之前使用过它,因此我的批评可能不再适用。 我发现的:好主意。插件不太复杂。如果可行,对您来说很好。但是,如果不是这样,或者如果您需要进一步推动它,那么祝您调试顺利。 我为我投入的时间感到遗憾。 我只在寻找JSON到Objective-C对象,而不是相反。 我在SO上找到了指向JTObjectMapping的链接-但找不到原始答案。似乎更轻巧,接近我要搜索的内容,但是我没有机会尝试。 另一个类似的类:jastor。 与RestKit相比,我更喜欢这两个类的方法,因为它只处理一项工作,而RestKit则尝试处理所有事情。     

要回复问题请先登录注册