То, что вы опубликовали выше, не является действительным JSON.Если вы сделали его действительным JSON, то то, что вы хотите сделать, невозможно без конкретной схемы, например.
{
"DataObject": {
"user": {
"name": "Peter",
"id": 1234
},
"place": "UK",
"job": {
"title": "CTO",
"salary": 1234567
}
}
}
Является ли Dataobject словарем или объектом?А как насчет пользователя или работы?Что такое User является экземпляром NSUser, а задание является 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;
}