We have used Continous Integration to help with this.  Our Jenkins build will pull the source, compile it, zip it, and attach back to the Jenkins job.  On success, a secondary job sends this zip to the server, unpacks it, and updates the symlink for the web folder to the new one.  This way we only move source files, and we are not having to worry about build processes on a production environment

JSON_Table got a deep dive in the context of the Document DB functionality.  @Stefan Wittmann presented an excellent session about this at last year's Global Summit

https://www.youtube.com/embed/T7RzkugC7QQ
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]