Почему пустая строка JSON десериализуется до нуля на стороне сервера?

Я отправляю пустую строку через $.post, и она десериализуется в null. Как различать, была ли строка пустой или пустой на стороне клиента?

Привет

UPDATE То, что я на самом деле делаю, это:

$.post("Controller/Action", $.param({Name: ""}, true), null, "json");

на сервере:

public Container
{
   public string Name;
}

public void Action(Container container)
{
    bool c = container.Name == null;   // c is true, why ?     
}

Ответ 1

Переменная с пустым значением записывается в JSON как:

{ "var" : "" }

Пустая строка анализируется как null, так как в ней нет объекта.

Ответ 2

Что вы подразумеваете под "пустой строкой"?

Представление JSON пустой строки "", а не пустая строка. Пустая строка на самом деле означает "ничего", поэтому null