はじめに この記事は自作のJSON解析CLIツールjtrの紹介です。 開発経緯 近年GoやNim, TypeScriptといった静的型付け言語を扱うようになって、PythonやJavaScriptと違って型が強く意識した開発が求められるようになりました。 提供されているWebAPIからJSONを抜き出したり、逆に個人制作のWebアプリからJSONを提供する側に回るとき、typeを定義して各言語のオブジェクトとして扱う機会が多くあります。 特に、別のWebAPIからJSONを利用する際に、長ったらしいJSONを眺めて概要把握し、typeを定義してJSONを各言語のオブジェクトに落とし込む作業に疲れたので、もっと効率化できないかと考えました。 JSONをパースする際に型が意識されるケース JSONをパースする際に型が意識されるケースをコード例を示しながら説明します。 JSONパース@Go 例と
![JSONをツリー形式にしてほしい。型ごとにまとめて。 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e3f49dda405e7def670b275d360e281e3bac689e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9SlNPTiVFMyU4MiU5MiVFMyU4MyU4NCVFMyU4MyVBQSVFMyU4MyVCQyVFNSVCRCVBMiVFNSVCQyU4RiVFMyU4MSVBQiVFMyU4MSU5NyVFMyU4MSVBNiVFMyU4MSVCQiVFMyU4MSU5NyVFMyU4MSU4NCVFMyU4MCU4MiVFNSU5RSU4QiVFMyU4MSU5NCVFMyU4MSVBOCVFMyU4MSVBQiVFMyU4MSVCRSVFMyU4MSVBOCVFMyU4MiU4MSVFMyU4MSVBNiVFMyU4MCU4MiZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDbWlkZGxlJnM9ZDcyZTNjYjlkYzllZDNjMzE0M2JjOWU4ZjlmZDE1NDg%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwdTFhbmQwJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04ODk1ZTFjZDE5ODczYzYyMWQ1N2UyNGNlMjdiMTRhMw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Db0793a49d5320ba8263bf9311b509d28)