Skip to content
Alternative decoder for form-urlencoded data
Find file
New pull request
Latest commit 5c5d4ca @fgnass fix travis builds
Failed to load latest commit information.
lib cleanup
test cleanup
.gitignore Using Mocha for testing
.jshintrc cleanup
.travis.yml fix travis builds Removed the Connect middleware section
index.js Initial check-in
package.json fix travis builds

Build Status

Form2json is a decoder for x-www-form-urlencoded data that supports complex structures. It uses simple dot-notation for nested properties and square brackets to denote arrays.


Here are some examples to illustrate the syntax.

Nested Objects

The following string represents a nested object:

The string will be decoded as:

    planet: {
        name: "Mars",
        diameter: 0.532

There are no restrictions on the nesting-level:


    planet: {
        mars: {
            diameter: 0.532,
            mass: 0.11


Arrays can be encoded using square brackets:


    planets: ["Venus", "Earth", "Mars"]

If the index is omitted, form2json will push the values to the array in order of appearance:


    planets: ["Mars", "Venus", "Earth"]

This feature is really useful, as it allows you to re-order the input fields on the client, without having to update the field names. In order to use this feature with arrays containing nested objects, we have to use a slightly different syntax:


    planets: [
        { name: "Mars", mass: 0.11 },
        { name: "Venus, mass: 0.82 },
        { name: "Earth", mass: 1 }

In fact you may use any non-numerical value as index. All items having the same index will be grouped into one object.

Something went wrong with that request. Please try again.