This htmx extension provides a more convenient way to send complex JSON via forms.
It provides a convenient syntax to create nested objects, without ever having to manually add array indices.
Simple nested object
<input name="title">
<input name="author.name"> <!-- Nesting with dots -->
<input name="author[bio]"> <!-- Nesting with brackets -->
Arrays
<input name="url">
<input name="url">
<input name="url"> <!-- Simply repeat a property -->
<input name="title[]">
<input name="title[]">
<input name="title[]"> <!-- Array indicator -->
Array of objects
<input name="articles[][title]">
<input name="articles[][category][]">
<input name="articles[][category][]"> <!-- nested objects and arrays -->
<input name="articles[+][title]"> <!-- Plus marks the start of a new object -->
<input name="articles[][category][]">