Swift parsing for JSON Feed Spec
Installation
Carthage
You can install Carthage with Homebrew using the following command:
brew update brew install carthage
To integrate JSONFeed into your Xcode project using Carthage, specify it in your Cartfile where "x.x.x" is the current release:
github "wesbillman/JSONFeed" "x.x.x"
Swift Package Manager
To install using Swift Package Manager have your Swift package set up, and add JSONFeed as a dependency to your Package.swift.
dependencies: [ .Package(url: "https://github.com/wesbillman/JSONFeed.git", majorVersion: 0) ]
Manually
Add all the files from JSONFeed/JSONFeed to your project
Usage
See JSONFeedTests for detailed usage examples
Load a feed from a dictionary
let dictionary = <some feed dictionary> let feed = try? JSONFeed(json: dictionary)
Load a feed from data
let data = <some feed data> let feed = try? JSONFeed(data: data)
Load a feed from a json ut8f string
let string = <some utf8 json string> let feed = try? JSONFeed(string: string)
Reading from a feed via URLSession
Using default configuration and URLSession
let reader = JSONFeedReader() reader.read(string: "https://jsonfeed.org/feed.json") { (feed, error) in if let error = error { //bad things happened } if let feed = feed { //good things happened } }
Using custom implemenation of URLSession (example: for unit testing)
let reader = JSONFeedReader(session: SomeCustomURLSession) reader.read(string: "https://jsonfeed.org/feed.json") { (feed, error) in if let error = error { //bad things happened } if let feed = feed { //good things happened } }