If you want to get the output of
docker ps in JSON format the easiest way is to run the remote docker API and use that, you can read about how to do that here
However if you can’t run the remote API because of security issues or for other reasons there is another way! With curl version 7.40 (If this isn’t available on your distro click here) and newer you can get data from the local unix socket, and docker always runs the remote api on docker.sock.
Here’s what you have to run:
curl --unix-socket /var/run/docker.sock http://localhost/containers/json
Tada! Nice JSON Formatted docker ps output. I recommend using the jq library if you want an easy way to parse it in bash.