Reputation: 17064
I'm sending empty string through $.post and it deserializes to null. How to differentiate if the string was empty or null at the client side ?
Regards
UPDATE What I'm actually doing is:
$.post("Controller/Action", $.param({Name: ""}, true), null, "json");
at the server:
public Container
{
public string Name;
}
public void Action(Container container)
{
bool c = container.Name == null; // c is true, why ?
}
Upvotes: 10
Views: 1760
Reputation: 171774
What do you mean by "empty string" ?
The JSON representation of an empty string is ""
, not an empty string. An empty string actually means "nothing", so null
Upvotes: 2
Reputation: 1917
A variable with empty value is written in JSON as:
{ "var" : "" }
An empty string is parsed as null as there is no object defined in it.
Upvotes: 2