首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在swift中解析JSON文件?

如何在swift中解析JSON文件?
EN

Stack Overflow用户
提问于 2014-06-03 18:58:14
回答 9查看 136.6K关注 0票数 97

我有一个JSON文件,想要解析和使用表视图中的对象列表。任何人都可以在swift中共享解析JSON文件的代码。

EN

回答 9

Stack Overflow用户

发布于 2015-09-15 10:17:44

下面是在SWIFT2.0中实现JSON和NSData之间转换的代码

代码语言:javascript
复制
// Convert from NSData to json object
func nsdataToJSON(data: NSData) -> AnyObject? {
    do {
        return try NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers)
    } catch let myJSONError {
        print(myJSONError)
    }
    return nil
}

// Convert from JSON to nsdata
func jsonToNSData(json: AnyObject) -> NSData?{
    do {
        return try NSJSONSerialization.dataWithJSONObject(json, options: NSJSONWritingOptions.PrettyPrinted)
    } catch let myJSONError {
        print(myJSONError)
    }
    return nil;
}
票数 5
EN

Stack Overflow用户

发布于 2014-08-29 12:51:32

SwiftJSONParse:像个坏蛋一样解析JSON

Dead--简单易读!

示例:从nicknames中将"mrap"值作为字符串从该JSON响应中获取

代码语言:javascript
复制
{
    "other": {
        "nicknames": ["mrap", "Mikee"]
}

它接受你的json数据NSData,不需要预处理。

代码语言:javascript
复制
let parser = JSONParser(jsonData)

if let handle = parser.getString("other.nicknames[0]") {
    // that's it!
}

免责声明:这是我做的,我希望它能对大家有所帮助。请随时改进它!

票数 2
EN

Stack Overflow用户

发布于 2015-08-01 07:03:24

在Swift中解析JSON是一项很好的代码生成工作。我已经在http://www.guideluxe.com/JsonToSwift上创建了一个工具来实现这一点。

您提供了一个带有类名的样例JSON对象,该工具将生成一个相应的Swift类,以及任何需要的subsidiary Swift类,以表示样例JSON所暗示的结构。还包括用于填充Swift对象的类方法,包括利用NSJSONSerialization.JSONObjectWithData方法的类方法。提供了来自NSArray和NSDictionary对象的必要映射。

在生成的代码中,您只需要提供一个NSData对象,其中包含与提供给该工具的示例相匹配的JSON。

除了Foundation之外,没有依赖项。

我的工作灵感来自http://json2csharp.com/,它对.NET项目非常方便。

下面介绍如何从JSON文件创建NSData对象。

代码语言:javascript
复制
let fileUrl: NSURL = NSBundle.mainBundle().URLForResource("JsonFile", withExtension: "json")!
let jsonData: NSData = NSData(contentsOfURL: fileUrl)!
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24013410

复制
相关文章

相似问题

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