如何从 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
我在将数据从 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