Fix the issue of parsing empty as array of [null] in json request

Now with the following params:

    { people: [{name: 'angelo', posts:[] }] }

In a normal http post are decoded as:

    { :people => [{:name => 'angelo', :posts => []} ]}

while in json request are decoded as:

    { :people => [{:name => 'angelo', :posts => nil }] }

With this PR , json request and html have the same decoded params
fixes #11023