2010-10-01 15 views
10

Estoy enviando cadena vacía a través de $ .post y se deserializa a nulo. ¿Cómo diferenciar si la cadena estaba vacía o nula en el lado del cliente?¿Por qué la cadena vacía JSON se deserializa a nulo en el lado del servidor?

Saludos

ACTUALIZACIÓN Lo que estoy haciendo realmente es:

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

en el servidor:

public Container 
{ 
    public string Name; 
} 

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

Respuesta

2

una variable con valor vacío está escrito en JSON como:

{ "var" : "" } 

una cadena vacía se analiza como nula ya que no hay objeto definido en eso.

2

¿Qué quiere decir por "cadena vacía"?

La representación JSON de una cadena vacía es "", no una cadena vacía. Una cadena vacía en realidad significa "nada", por lo nula

Cuestiones relacionadas