{"repo":"ABridoux/scout","free":true,"listed":false,"github":"https://github.com/ABridoux/scout","clone":"git clone https://github.com/ABridoux/scout.git","description":"Reading and writing in JSON, Plist, YAML and XML data made simple when the data format is not known at build time. Swift library and command-line tool.","language":"Swift","stars":141,"topics":["swift-package","json","plist","xml","yaml","bash-script","command-line","macos","swift"],"license":"MIT","category":"cli-tools","readme_excerpt":"Swift package Install Scout This library aims to make specific formats data values reading and writing simple when the data format is not known at build time. It was inspired by SwiftyJson and all the projects that followed, while trying to cover more ground, like Xml or Plist. It unifies writing and reading for those different formats. Getting a value in a Json format would be the same as getting a value in a Xml format. Supported formats: - JSON - Plist - YAML - XML Minimum requirements - Swift: 5.6+ - macOS: 10.13+ - iOS: 10.0+ - tvOS: 10.0+ - watchOS: 4.0+ Summary - Why - Features - Installation - Usage - Special thanks - Contributing Wiki The Swift wiki can be found on the Github pages. The command-line wiki can be found on the Wiki tab . Why? With the Foundation libraries to encode/decode Json and Plist, one could ask: why would someone need Scout? Simple answer: there are still cases where you do not know the data format. Sometimes, you will just want to read a single value from a Plist file, and you do not want to create the the struct to decode this file. Or you simply cannot know the data format at build time. Context I have been working with many Mac admins recently, and many had to deal with Json, Plist and Xml data. While some were using a format-specific library like jq to parse Json, others were using awk . Each approach is valid, though it comes with some tradeoffs. Using a format-specific library You can use a library for each format. But I am not aware today","default_branch":null,"files":null,"tree":[],"storefront":"/r/ABridoux","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ABridoux/scout/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}