Building a simple webservice
I made a content type Newsletters, You could remove the Body field if you want form the Node. I then used Panelizer with nodes to make newsletter like layouts. The content for the node is actually ctools based custom data.

I also made use of a custom html--newsletters.tpl.php file to remove site themeing from the newsletter and apply generic newsletter themeing for the site.

If you got this much working:


custom content type (title, optional body)
Panelizer enabled, pick a layout (or layouts)

enable node_panelizer.

un-embed newsletter from site with custom html.tpl.php for the content type (optional)


Then I would make a hook_menu entry for your json service. Just do a node_load on the newsletter node and inspect $page['content'] for your nodes layout and "sections". Just build a json array out of how your page is setup in the page render arrays.