DataObject(Any)
letobj=DataObject("init_value").set(variable:"SomeValue", value:"qwerty").set(variable:"nil", value:nil)XCTAssertEqual(obj.value(),"init_value")XCTAssertEqual(obj.SomeValue.value(),"qwerty")XCTAssertEqual(obj.nil,DataObject())SURL JSON Example
"https://jsonplaceholder.typicode.com/users/7".url?.get{(obj)inprint(obj.variables.keys) // [AnyHashable("response"), AnyHashable("data")]
print(obj.data)}JSON
{
"id": 7,
"name": "Kurtis Weissnat",
"username": "Elwyn.Skiles",
"email": "Telly.Hoeger@billy.biz",
"address": {
"street": "Rex Trail",
"suite": "Suite 280",
"city": "Howemouth",
"zipcode": "58804-1099",
"geo": {
"lat": "24.8918",
"lng": "21.8984"
}
},
"phone": "210.067.6132",
"website": "elvis.io",
"company": {
"name": "Johns Group",
"catchPhrase": "Configurable multimedia task-force",
"bs": "generate enterprise e-tailers"
}
}DataObject{
| Variables
| * id:7(__NSCFNumber)
| * value:500 bytes (Data)
| * address:{
city = Howemouth;
geo ={
lat ="24.8918";
lng ="21.8984";
};
street ="Rex Trail";
suite ="Suite 280";
zipcode ="58804-1099";
}(__NSDictionaryI)
| * email: Telly.Hoeger@billy.biz(__NSCFString)
| * json:{"id":7,"name":"Kurtis Weissnat","username":"Elwyn.Skiles","email":"Telly.Hoeger@billy.biz","address":{"street":"Rex Trail","suite":"Suite 280","city":"Howemouth","zipcode":"58804-1099","geo":{"lat":"24.8918","lng":"21.8984"}},"phone":"210.067.6132","website":"elvis.io","company":{"name":"Johns Group","catchPhrase":"Configurable multimedia task-force","bs":"generate enterprise e-tailers"}}(String)
| * website: elvis.io(NSTaggedPointerString)
| *username: Elwyn.Skiles (__NSCFString)
| * company:{
bs ="generate enterprise e-tailers";
catchPhrase ="Configurable multimedia task-force";
name ="Johns Group";
}(__NSDictionaryI)
| * phone:210.067.6132(__NSCFString)
| * name: Kurtis Weissnat(__NSCFString)}WTV Example
"https://jsonplaceholder.typicode.com/users/7".url?.get{(obj)inprint(obj.data.wtv(named:"name")!)}DataObject.variables["company"]["name"] π FOUND:(label:Optional("name"), value: Johns Group)DataObject.variables["name"] π FOUND:(label:Optional("name"), value: Kurtis Weissnat)