2011-09-28 22 views
10

estoy recuperando JSON de una API pública y convertirla en un objeto dinámico utilizando JsonFx..Net 4: Cómo hacer referencia a un objeto dinámico con propiedad denominada "retorno"

JsonFx.Json.JsonReader reader = new JsonFx.Json.JsonReader(); 
dynamic response = reader.Read(jsonAsString); 

El json contiene una propiedad denominada return. p.ej.

{"result":"success","return":{"high":{"value":"3.85001","value_int":"385001","display":"3.85001\u00a0\u20ac","currency":"EUR"}} 

JsonFx crea el objeto dinámico bien y también puedo depurarlo y ver los valores. El problema es cuando intento hacer referencia a la propiedad en mi código que el compilador se queja:

response.return.high.currency 
Identifier expected; 'return' is a keyword 

¿Cómo se puede hacer referencia a que la propiedad de retorno sin el compilador se queja?

Respuesta

15

Trate [email protected].

Es necesario añadir @ en el comienzo de cualquier nombre de campo cual es lo mismo que C# palabras clave.

+0

gracias, que funciona! – AyKarsi

+3

Por cierto, el equivalente de Visual Básico de utilizar el '' @ escapar una palabra clave en C# es rodear la palabra clave entre corchetes. Entonces puede decir "Dim [Next] como String" por ejemplo, para declarar una variable llamada Next. Es útil saber si también está usando objetos tan inusuales en VB. –

Cuestiones relacionadas