Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 1st, 2012  |  syntax: None  |  size: 10.39 KB  |  hits: 22  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. I am doing a native objC app.
  2. At first startup, I want to take a JSON file in the app bundle, Parse it, and put it into a CoreData Database.
  3. The JSON file is quite large, with 1550 records. But for this example, I will trim it to 50.
  4. The file passed http://jsonlint.com/
  5.  
  6. JSON FILE
  7. ===================================================================================
  8. {"a":[
  9. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E01","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  10. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"20","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
  11. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E03","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  12. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E04","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  13. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  14. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  15. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05b","Q06":"X","C1":"I","C1IND":"22","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
  16. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E05c","Q06":"X","C1":"I","C1IND":"23","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
  17. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  18. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
  19. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  20. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  21. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
  22. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  23. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  24. {"b":{"Q01":"A01","Q02":"B01","Q03":"C01","Q04":"D01","Q05":"E07c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  25. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E01","Q06":"X","C1":"I","C1IND":"24","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
  26. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"14","C1SCORE":"1","CABG":"NR","PCI":"NR"}},
  27. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E03","Q06":"X","C1":"U","C1IND":"30","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
  28. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E04","Q06":"X","C1":"U","C1IND":"36","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
  29. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  30. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  31. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  32. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  33. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06","Q06":"X","C1":"U","C1IND":"42","C1SCORE":"5","CABG":"NR","PCI":"NR"}},
  34. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
  35. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  36. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E06c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  37. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
  38. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  39. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  40. {"b":{"Q01":"A01","Q02":"B01","Q03":"C02","Q04":"D01","Q05":"E07c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  41. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E01","Q06":"X","C1":"I","C1IND":"26","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
  42. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E02","Q06":"X","C1":"I","C1IND":"16","C1SCORE":"3","CABG":"NR","PCI":"NR"}},
  43. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E03","Q06":"X","C1":"U","C1IND":"32","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
  44. {"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"}},
  45. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  46. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  47. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  48. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  49. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06","Q06":"X","C1":"A","C1IND":"44","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
  50. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
  51. {"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"}},
  52. {"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"}},
  53. {"b":{"Q01":"A01","Q02":"B01","Q03":"C03","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
  54. {"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"}},
  55. {"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"}},
  56. {"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"}},
  57. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E01","Q06":"X","C1":"U","C1IND":"28","C1SCORE":"4","CABG":"NR","PCI":"NR"}},
  58. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E02","Q06":"X","C1":"U","C1IND":"18","C1SCORE":"6","CABG":"NR","PCI":"NR"}},
  59. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E03","Q06":"X","C1":"A","C1IND":"34","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
  60. {"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"}},
  61. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  62. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05a","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  63. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05b","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  64. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E05c","Q06":"X","C1":"NR","CABG":"NR","PCI":"NR"}},
  65. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06","Q06":"X","C1":"A","C1IND":"46","C1SCORE":"7","CABG":"NR","PCI":"NR"}},
  66. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E06a","Q06":"X","C1":"A","C1IND":"48","C1SCORE":"8","CABG":"NR","PCI":"NR"}},
  67. {"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"}},
  68. {"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"}},
  69. {"b":{"Q01":"A01","Q02":"B01","Q03":"C04","Q04":"D01","Q05":"E07","Q06":"X","C1":"A","C1IND":"49","C1SCORE":"9","CABG":"NR","PCI":"NR"}},
  70. {"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"}}
  71. ]}
  72. ===================================================================================
  73. 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.
  74.  
  75. THE OBJ C code I have working so far:
  76. ===================================================================================
  77. - (IBAction)bt01:(UIButton *)sender {
  78.     NSString* filePath = [[NSBundle mainBundle] pathForResource:@"nonacs" ofType:@"json"];    
  79.     NSError* error = nil;
  80.     NSData *jsonData = [NSData dataWithContentsOfFile:filePath options:NSDataReadingMappedIfSafe error:&error];
  81.     if (jsonData) {
  82.         id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
  83.        
  84.         if (error) {
  85.             NSLog(@"error is %@", [error localizedDescription]);
  86.             // Handle Error and return
  87.             return;
  88.         }
  89.         //NSArray *keys = [jsonObjects allKeys];    
  90.  
  91.         NSString* jsonString = [NSString stringWithFormat:@"%@",[jsonObjects objectForKey:@"a"]];    
  92.                
  93.         bTV01.text = jsonString;
  94. //*************  bTV01.text displays the JSON data perfectly  **********************
  95. //***  but I think its just one big string
  96. // I want to convert this string into some kind of array object so that I can
  97. // work with it.  To follow is the direction I was going... but need help
  98.  
  99. //<<<<  NEED HELP HERE  >>>
  100.        
  101.     }
  102.  
  103.  
  104. ===================================================================================
  105.  
  106.  
  107. WHAT I AM TRYING TO ACCOMPLISH.
  108. 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.
  109.  
  110. 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.
  111.  
  112. thanks
  113.  
  114.  
  115.  
  116.  
  117. MY GOAL: