首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cocoa-Touch -如何解析本地Json文件

Cocoa-Touch -如何解析本地Json文件
EN

Stack Overflow用户
提问于 2012-08-28 06:41:44
回答 4查看 19.9K关注 0票数 13

我是Json开发人员的新手,我正在尝试解析本地iOS文件,例如

{"quizz":[{"id":"1","Q1":"When Mickey was born","R1":"1920","R2":"1965","R3":"1923","R4","1234","response","1920"},{"id":"1","Q1":"When start the cold war","R1":"1920","R2":"1965","R3":"1923","rep4","1234","reponse","1920"}]}

下面是我的代码:

代码语言:javascript
运行
复制
 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSString *myJSON = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
// Parse the string into JSON
NSDictionary *json = [myJSON JSONValue];

// Get all object
NSArray *items = [json valueForKeyPath:@"quizz"];

NSEnumerator *enumerator = [items objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumerator nextObject]) {
    NSLog(@"clientId = %@",  [item objectForKey:@"id"]);
    NSLog(@"clientName = %@",[item objectForKey:@"Q1"]);
    NSLog(@"job = %@",       [item objectForKey:@"Q2"]);
}

我在这个网站上找到了一个示例,但我得到了以下错误

-JSONValue失败。错误是:对象键后不应有标记“值分隔符”。

EN

Stack Overflow用户

发布于 2016-08-18 16:16:33

Swift 2.3 JSON I使用实用程序方法将文件转换为字典:

代码语言:javascript
运行
复制
func getDictionaryFromJSON(jsonFileName: String) -> [String: AnyObject]? {
    guard let filepath = NSBundle.mainBundle().pathForResource(jsonFileName, ofType: "json") else {
        return nil
    }

    guard let data = NSData(contentsOfFile: filepath) else {
        return nil
    }

    do {
        let dict = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String: AnyObject]
        return dict
    } catch {
        print(error)
        return nil
    }
}
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12150595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档