If you write your program well enough (which is not hard), GUI or CLI doesn't matter, you've written a modular tool that can be interfaced with any way you want. And sometimes CLI is a better way to interface (CLIs can be chained together using standard mechanisms much more easily than GUIs).
And why should everything be JSON? It's not the best format ever for all the things (there isn't one).
And why should everything be JSON? It's not the best format ever for all the things (there isn't one).