- I am doing a native objC app.
- At first startup, I want to take a JSON file in the app bundle, Parse it, and put it into a CoreData Database.
- The JSON file is quite large, with 1550 records. But for this example, I will trim it to 50.
- The file passed http://jsonlint.com/
- JSON FILE
- ===================================================================================
- {"a":[
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E01","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"20","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E03","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E04","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05b","Q06":"X","C1":"I","C1IND":"22","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05c","Q06":"X","C1":"I","C1IND":"23","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E01","Q06":"X","C1":"I","C1IND":"24","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"14","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E03","Q06":"X","C1":"U","C1IND":"30","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E04","Q06":"X","C1":"U","C1IND":"36","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06","Q06":"X","C1":"U","C1IND":"42","C1SCORE":"5","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E01","Q06":"X","C1":"I","C1IND":"26","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"16","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E03","Q06":"X","C1":"U","C1IND":"32","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E04","Q06":"X","C1":"U","C1IND":"38","C1SCORE":"5","CABG":"A","CABGIND":"62","CABGSCORE":"8","PCI":"A","PCIIND":"62","PCISCORE":"7"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06","Q06":"X","C1":"A","C1IND":"44","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"A","CABGIND":"63","CABGSCORE":"9","PCI":"A","PCIIND":"63","PCISCORE":"7"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"A","CABGIND":"64","CABGSCORE":"9","PCI":"U","PCIIND":"64","PCISCORE":"4"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"A","CABGIND":"65","CABGSCORE":"9","PCI":"U","PCIIND":"65","PCISCORE":"6"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E07b","Q06":"X","C1":"NR","CABG":"A","CABGIND":"66","CABGSCORE":"9","PCI":"U","PCIIND":"66","PCISCORE":"5"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E07c","Q06":"X","C1":"NR","CABG":"A","CABGIND":"67","CABGSCORE":"9","PCI":"I","PCIIND":"67","PCISCORE":"1"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E01","Q06":"X","C1":"U","C1IND":"28","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E02","Q06":"X","C1":"U","C1IND":"18","C1SCORE":"6","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E03","Q06":"X","C1":"A","C1IND":"34","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E04","Q06":"X","C1":"A","C1IND":"40","C1SCORE":"7","CABG":"A","CABGIND":"62","CABGSCORE":"8","PCI":"A","PCIIND":"62","PCISCORE":"7"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06","Q06":"X","C1":"A","C1IND":"46","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"A","CABGIND":"63","CABGSCORE":"9","PCI":"A","PCIIND":"63","PCISCORE":"7"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"A","CABGIND":"64","CABGSCORE":"9","PCI":"U","PCIIND":"64","PCISCORE":"4"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
- {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"A","CABGIND":"65","CABGSCORE":"9","PCI":"U","PCIIND":"65","PCISCORE":"6"}}
- ]}
- ===================================================================================
- OBSERVE that the JSON starts with a Root of "a", and all records start with a root of "b". Also notice that the "b" records do NOT all have similar KeyNames.
- THE OBJ C code I have working so far:
- ===================================================================================
- - (IBAction)bt01:(UIButton *)sender {
- NSString* filePath = [[NSBundle mainBundle] pathForResource:@"nonacs" ofType:@"json"];
- NSError* error = nil;
- NSData *jsonData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:&error];
- if (jsonData) {
- id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
- if (error) {
- NSLog(@"error is %@", [error localizedDescription]);
- // Handle Error and return
- return;
- }
- //NSArray *keys = [jsonObjects allKeys];
- NSString* jsonString = [NSString stringWithFormat:@"%@",[jsonObjects objectForKey:@"a"]];
- bTV01.text = jsonString;
- //************* bTV01.text displays the JSON data perfectly **********************
- //*** but I think its just one big string
- // I want to convert this string into some kind of array object so that I can
- // work with it. To follow is the direction I was going... but need help
- //<<<< NEED HELP HERE >>>
- }
- ===================================================================================
- WHAT I AM TRYING TO ACCOMPLISH.
- I want to take the JSON data above, at FIRST Startup, read it from the Bundle, parse it, and load it into a CoreData database.
- Could I get some assistance on converting the string into an array of arrays... or what ever the term is. And some thoughts on my next plan of action for this.
- thanks
- MY GOAL: