43 votos

json.net tiene el método de la clave?

Si mi respuesta ha de error "clave" necesito proceso de error y mostrar cuadro de advertencia.

Es la que hay "haskey" existe un método en json.net? Como:

var x= JObject.Parse(string_my);
if(x.HasKey["error_msg"])
    MessageBox.Show("Error!")

68voto

svick Puntos 81772

Sólo uso x["error_msg"]. Si la propiedad no existe, se devuelve null.

39voto

Jon Skeet Puntos 692016

JObject implementa IDictionary<string, JToken>, así que usted puede utilizar:

IDictionary<string, JToken> dictionary = x;
if (dictionary.ContainsKey("error_msg"))

... o puede utilizar TryGetValue. Se implementa el uso de métodos explícitos de la interfaz de la aplicación, por lo que no se pueden utilizar sin antes convertir a IDictionary<string, JToken> , aunque.

4voto

kntx Puntos 76

El uso de x["error_msg"], si la clave "error_msg" existe, pero su valor es null, todavía devuelve null, derecho?

James Newton-King, el autor de JSON.net ha escribí aquí http://stackoverflow.com/a/6529408/1125678 pero debo admitir, que una HasKey() método que sería realmente útil.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: