views:

45

answers:

2

Hello,

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 ?     
}
+1  A: 

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

Philippe Leybaert
A: 

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.

frisco