0

I have a form, let's say:

<form action="bla">
    <div>
        <input name="form[row1][foo]"
        <input name="form[row1][bar]"
    </div>
    <div>
        <input name="form[row2][foo]"
        <input name="form[row2][bar]"
    </div>
    <div>
        <input name="form[row3][foo]"
        <input name="form[row3][bar]"
    </div>
</form>

I want to convert that FormData to json but when I do that

var formData = new FormData(myForm);
var jsonData = Object.fromEntries(formData.entries());

what I get is an object like:

{
    "form[row1][foo]": "foo1",
    "form[row1][bar]": "bar1",
    "form[row2][foo]": "foo2",
    "form[row2][bar]": "bar2",
    "form[row3][foo]": "foo3",
    "form[row3][bar]": "bar3"
}

but what I want is something like this:

{
    "form": {
        "row1": {
            "foo": "foo1",
            "bar": "bar1"
        },
        "row2": {
            "foo": "foo2",
            "bar": "bar2"
        },
        "row3": {
            "foo": "foo3",
            "bar": "bar3"
        }
    }
}

Is that possible and how?

antimatter
  • 63
  • 1
  • 10

0 Answers0