JSON Objects
Best practice for customization of complicated objects or scripted reports in NetSuite:
Focus on building the JSON object first. Only when the object is fully developed, then do something with it (create a transaction, report or custom record).
If there is a significant number of manipulations or logic applied, document all of that within the object itself. Do not rely solely on debugs scattered throughout your script to record details of any added logic.
Once complete, you can debug your object and have a one-stop view of script processing the object from beginning to end. If your customization is complex, I also recommend saving the JSON object as a custom subrecord to the transaction in NetSuite. This will make it simpler for a developer to review the back end without chasing down the time stamp in script logs.