Question

Is there a way to import data with Magical Record that does not have primaryKey or relatedByAttribute?

My JSON looks like this. As you can see this is a list of services that an employee has access too. There is no unique ID for me to relate too.

{
   "status":0,
   "statusMessage":"Call success",
   "details":{
      "items":[
         {
            "status":0,
            "statusMessage":"Employee service schedule list returned",
            "details":{
               "itemsReturned":2,
               "items":[
                  {
                     "clientId":747,
                     "employeeId":2241,
                     "serviceId":3137,
                     "duration":60,
                     "scheduleMondayStartTime":480,
                     "scheduleMondayEndTime":1020,
                     "scheduleTuesdayStartTime":480,
                     "scheduleTuesdayEndTime":1020,
                     "scheduleWednesdayStartTime":480,
                     "scheduleWednesdayEndTime":1020,
                     "scheduleThursdayStartTime":480,
                     "scheduleThursdayEndTime":1020,
                     "scheduleFridayStartTime":480,
                     "scheduleFridayEndTime":1020,
                     "scheduleSaturdayStartTime":null,
                     "scheduleSaturdayEndTime":null,
                     "scheduleSundayStartTime":null,
                     "scheduleSundayEndTime":null
                  },
                  {
                     "clientId":747,
                     "employeeId":7178,
                     "serviceId":3137,
                     "duration":60,
                     "scheduleMondayStartTime":480,
                     "scheduleMondayEndTime":1020,
                     "scheduleTuesdayStartTime":480,
                     "scheduleTuesdayEndTime":1020,
                     "scheduleWednesdayStartTime":480,
                     "scheduleWednesdayEndTime":1020,
                     "scheduleThursdayStartTime":480,
                     "scheduleThursdayEndTime":1020,
                     "scheduleFridayStartTime":480,
                     "scheduleFridayEndTime":1020,
                     "scheduleSaturdayStartTime":null,
                     "scheduleSaturdayEndTime":null,
                     "scheduleSundayStartTime":null,
                     "scheduleSundayEndTime":null
                  }
               ]
            }
         },
         {
            "status":0,
            "statusMessage":"Employee service schedule list returned",
            "details":{
               "itemsReturned":2,
               "items":[
                  {
                     "clientId":747,
                     "employeeId":2241,
                     "serviceId":3138,
                     "duration":5,
                     "scheduleMondayStartTime":480,
                     "scheduleMondayEndTime":1020,
                     "scheduleTuesdayStartTime":480,
                     "scheduleTuesdayEndTime":1020,
                     "scheduleWednesdayStartTime":480,
                     "scheduleWednesdayEndTime":1020,
                     "scheduleThursdayStartTime":480,
                     "scheduleThursdayEndTime":1020,
                     "scheduleFridayStartTime":480,
                     "scheduleFridayEndTime":1020,
                     "scheduleSaturdayStartTime":null,
                     "scheduleSaturdayEndTime":null,
                     "scheduleSundayStartTime":null,
                     "scheduleSundayEndTime":null
                  },
                  {
                     "clientId":747,
                     "employeeId":7178,
                     "serviceId":3138,
                     "duration":5,
                     "scheduleMondayStartTime":480,
                     "scheduleMondayEndTime":1020,
                     "scheduleTuesdayStartTime":480,
                     "scheduleTuesdayEndTime":1020,
                     "scheduleWednesdayStartTime":480,
                     "scheduleWednesdayEndTime":1020,
                     "scheduleThursdayStartTime":480,
                     "scheduleThursdayEndTime":1020,
                     "scheduleFridayStartTime":480,
                     "scheduleFridayEndTime":1020,
                     "scheduleSaturdayStartTime":null,
                     "scheduleSaturdayEndTime":null,
                     "scheduleSundayStartTime":null,
                     "scheduleSundayEndTime":null
                  }
               ]
            }
         },
         {
            "status":0,
            "statusMessage":"Employee service schedule list returned",
            "details":{
               "itemsReturned":1,
               "items":[
                  {
                     "clientId":747,
                     "employeeId":7178,
                     "serviceId":3139,
                     "duration":15,
                     "scheduleMondayStartTime":480,
                     "scheduleMondayEndTime":1020,
                     "scheduleTuesdayStartTime":480,
                     "scheduleTuesdayEndTime":1020,
                     "scheduleWednesdayStartTime":480,
                     "scheduleWednesdayEndTime":1020,
                     "scheduleThursdayStartTime":480,
                     "scheduleThursdayEndTime":1020,
                     "scheduleFridayStartTime":480,
                     "scheduleFridayEndTime":1020,
                     "scheduleSaturdayStartTime":null,
                     "scheduleSaturdayEndTime":null,
                     "scheduleSundayStartTime":null,
                     "scheduleSundayEndTime":null
                  }
               ]
            }
         }
      ]
   }
}

What is the best way to import these with magical record without a unique id?

Was it helpful?

Solution

MagicalRecord importing should still work with this data. Since you've got objects related via a json key, we can know what you want to relate your core data entities with. In addition, as long as you map your json properties to the core data attributes correctly, that also provides enough information for the import library to figure out what should be related to what on import.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top