A macOS command line tool that generates Swift data model code based on JSON data. json2swift generates immutable Swift struct definitions along with thread-safe initialisers to create structs from JSON data. It performs sophisticated type inference to detect data types such as URLs and dates. For example, if you add a date format hint to your JSON, it will correctly add string to date parsing. It also aims to provide the correct optionality, making properties non-optional unless 'null' is found in the JSON.