var pt = new PrintTask();
var webmap_json = pt._getPrintDefinition(this.map);
The _getPrintDefinition() is an internal method and it appears it no longer works in the latest version of the JS API (3.14). Is there another way to get the WebMap? A method like esri.map.getWebMapJson() would be nice!