如何从 json 的本地文件中检索数据到 Objective C iOS 中的字典

How to retrieve data from local file of json to a dictionary in Objective C iOS

我在将数据从 JSON 文件检索到字典时遇到问题,然后我将访问该字典数组中的值来花时间比较我到目前为止所做的时间是那。

注意:我一个月有多个时间。

在我的 viewDidLoad 我定义了

- (void)viewDidLoad {
[super viewDidLoad];

NSURL *url = [NSURL fileURLWithPath:@"/Users/macbook/Desktop/Test/Test/myFile.json"];
NSString *fileContent = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
NSLog(@"Json data is here %@", fileContent);

在字典中保存数据

    NSArray *data = [[theFeedString JSONValue] objectForKey:@"data"];
for (NSDictionray *dict in data) {
    NSString *timings = [[dict objectForKey:@"timings"] intValue];
}

在我的控制台中,我从 json 获取所有数据,我的 json 看起来像这样

{
 "data": [
{
  "timings": {
    "Sunrise": "07:14 (PKT)",
    "Sunset": "18:15 (PKT)",
    "Midnight": "00:45 (PKT)"
  }
},
{
  "timings": {
    "Sunrise": "07:13 (PKT)",
    "Sunset": "06:40 (PKT)",
    "Midnight": "00:45 (PKT)"
  }
}
]
}

你应该这样做,其中 Palettes.json 是一个本地文件。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Palettes" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];

如果有任何疑问,请告诉我。

更新

根据您 JSON 的输出,您将得到这样的数据数组,

NSArray *data = json["data"];
[data enumerateObjectsUsingBlock:^(id object, NSUInteger idx, BOOL *stop) {
    NSDictionary *timings = object["timings"];
    NSString *sunrise = timings["Sunrise"];
}];

您可以遍历 data array 以获得 timings