How can I retrieve channel data in json format?
I just threw together a add-on that will provide a Twig filter called prune to allow you to more easily do what you're asking here.

https://github.com/mattstauffer/craftcms-prune

With prune you can now just do the following:

{{ craft.entries.section('news').find() | prune(['title', 'body']) | json_encode() | raw }}


Just pass in an array of the fields you want to pluck out. It's pretty new and could use some love, but it'll get the basics done for sure.