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

#c# #asp.net-mvc #json

#c# #asp.net-mvc #json

Вопрос:

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

С уважением

ОБНОВИТЬ То, что я на самом деле делаю, это:

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

на сервере:

 public Container
{
   public strin& Name;
}

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

Ответ №1:

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

 { "var" : "" }
  

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

Ответ №2:

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

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