2011-09-28 11 views
10

Json'u genel bir API'den alıyorum ve JsonFx kullanarak dinamik bir nesneye dönüştürüyorum..Net 4: Dinamik bir nesneyi "return" adlı özelliğe başvurma

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

Json, dönüş adında bir özellik içerir. Örneğin.

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

JsonFx dinamik nesne cezası yaratır ve ben de onun içine hata ayıklama ve değerlerini görebilirsiniz. Sorun derleyici şikayet benim kodunda özelliğe başvurmak çalıştığınızda geçerli:

nasıl şikayetçi derleyici olmadan dönüş özelliğe başvurabilirsiniz

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

cevap

15

[email protected]'u deneyin.

@ ekini C# anahtar sözcükleriyle aynı olan herhangi bir alanın başlangıcına eklemeniz gerekir.

+0

teşekkürler, işe yarıyor! – AyKarsi

+3

Tesadüfen, C# içindeki bir anahtar sözcükten kaçmak için '@' işlevini kullanmanın Visual Basic eşdeğeri, anahtar kelimeyi köşeli parantez içine almaktır. Örneğin, "Next" olarak adlandırılan bir değişken bildirmek için "Dize olarak [Next] (Dize) olarak" diyebilirsiniz. VB'de bu tür sıra dışı nesneleri de kullanıp kullanmadığınızı bilmek için kullanışlıdır. –