Source Code to the Blog Series
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ParsingJSON Tests
ParsingJSON.xcodeproj
ParsingJSON
.gitignore
README.md

README.md

Parsing JSON

Source Code to the Parsing JSON Blog Posts:

Follow along from the tags:

To setup, clone this repo:

git clone https://github.com/jeffh/ParsingJSON.git

JSON parsing that is common in Objective-C is actually a Data Mapping problem. The articles cover formulating the problem and building an abstraction to try and maximize the code reuse.

Note: If you just want a library to use, the writing is all based off of the Hydrant project. This isn't intended for production use

Tests

To verify my work (and prevent sleepless nights), the code here is tested. They use the Cedar testing framework. Using ⌘-U will run the tests. The fact that this project is a static library is merely a random choice.

The End Result

The end result of the series is a single Mapper protocol which individual mappers conform to. Each class solves a small part of the bigger problem, which allows composition and code reused with little assumption of other followers of the protocol.

This design, while more verbose, can cover more scenarios that is harder to do with a single-object API and allows developers the same flexibility of extending this code for more special cases. An example is optionally dropping bad JSON objects inside an array.

Those with a keen eye may notice that the overall structure is a more immutable and functional design. The object-oriented syntax does significantly balloon the code size which most functional programming languages minimize.