The smoothest way to store JSON object to an entry?
It's a little tough to say, since you it seems like you haven't actually architected any of this in the Craft back-end yet. I encourage you to create a field (or fields) which would be a good container for this data.

Once you've established what kind of field you're using, you may find that there is a different answer... but based on your current intent to store a simple JSON object, it sounds like you'd be using a simple plain text field.

Assuming you're using a plain text field, this is actually quite simple to accomplish. Use your JavaScript to set the value of a hidden field, before submitting the form:

&lt;input type="hidden" name="fields[songsJson]" value="" /&gt;


More info on saving entry data from a front-end form:


  https://craftcms.com/docs/templating/entry-form