In this post, we will see how to create JSON through JSON Generator and send it through Future callout. 
This program has 2 methods. First method create JSON of Case and its related Account, Asset and CaseComments with JSONGenerator. Second method takes the JSON and callout to the desired endpoint URL. As this is separated in 2 methods because if the first method has DML operation then it should be complete first to call the Future method.
Note: Please make Remote Site URL in your Org