2015-06-17 84 views
-1

好吧,我有一个捆绑的.json文件,我正在寻找与swifty json解析。我在swifty json中使用的模型是顶级对象,它有一个对象数组,每个对象都包含字符串或整数值。我想知道我需要创建什么代码才能做到这一点。任何人在这方面的帮助表示赞赏。我是一般的编程新手,虽然我实际上理解了大多数编码的顺序,但这个解析函数对于我来说真的很难理解。如果有人能够给我一个示例代码,并解释它的每个部分是什么,那会非常有帮助。比方说,我只是想从一个对象中拉出一个值,并将它放在一个数组中以显示在一个可用视图中。希望这是明确的,任何帮助都会很棒!Swiftyjson捆绑文件

回答

1

确定:

  1. 读出你的文件

    let path = NSBundle.mainBundle().pathForResource("filename", ofType: "json") 
    let jsonData = NSData(contentsOfFile: path!, options: NSDataReadingOptions.DataReadingMappedIfSafe, error: nil) 
    
  2. 加载数据到SwiftyJSON

    let json = JSON(data: jsonData) 
    
  3. 获取对象你想要的:

    let name = json["key1"]["key2"].stringValue // get any value 
    
  4. 或铸为阵

    if let array = json["key_of_array"].array{ 
        if let string = array[0].string{ 
    
        // get the first value of an array as string, if there is another key, use: array[0]["key_of_subelement"].string 
    
        } 
    } 
    

并检查了这一点:

http://www.binpress.com/tutorial/swiftyjson-how-to-handle-json-in-swift/111

这里你可以找到一些简单的方法来读出您所需要的所有数据

+0

谢谢对于切换快速反馈,我每次尝试在func或乐趣之外实现此代码功能时遇到的问题c let jsonData = NSData.dataWithContentOfFile(path,options:.DataReadingMappedIfSafe,error:nil0代码的一部分给了我一个错误,那就是它需要解包的可选类型的值!要么 ?。当我把它们放入路径时,它给了我一个不同的错误,说明dataWithContentOfFile不可用使用NSData(contentsOfFile:options:error :)。 – Matthew

+0

也为#3在你的列表让我们说例如我想从数组中的多个对象拉出相同的字符串类型?对不起,如果这是一个愚蠢的问题,它会自动显示多行对象的字符串?或者我必须为每个物体单独拉出? – Matthew

+0

查看我的编辑 – derdida