Próbuję przetworzyć tę odpowiedź kalendarza Google, którą otrzymuję z interfejsu API odpoczynku przy użyciu C#, ale wydaje się, że utknąłem. [edytuj] Aktualizacja, symbol @ nie przeszkadza w przewierceniu, sprawdziłem, zastępując @
przez _at_
. Zobacz zrzut ekranu Quick Watch: Parsowanie Jsona w dynamiczny obiekt C# za pomocą klucza dynamicznego
jestem pewien, mam dostępu do tego nieprawidłowo ...
Oto jsonString
Próbuję analizować:
{
"kind": "calendar#freeBusy",
"timeMin": "2015-06-12T14:00:00.000Z",
"timeMax": "2015-06-14T14:00:00.000Z",
"calendars": {
"[email protected]": {
"busy": [
{
"start": "2015-06-13T18:30:00Z",
"end": "2015-06-13T19:30:00Z"
},
{
"start": "2015-06-13T20:30:00Z",
"end": "2015-06-13T21:30:00Z"
},
{
"start": "2015-06-13T23:00:00Z",
"end": "2015-06-14T00:00:00Z"
}
]
}
}
}
I Wcześniej próbowałem przy użyciu:
dynamic myObj = Json.Decode(jsonString);
i
var myObj = JsonConvert.DeserializeObject(jsonString);
ale nie mogę się dowiedzieć, jak dostać się do klucza [email protected]
(który jest dynamiczny w oparciu o to, co wysyłam), aby przechodzić przez wszystkie czasy zajęte.
Pomysły?
Zrobiłem to, udało mi się uzyskać dostęp do właściwości za pomocą tej metody dostępu: myObj ["kalendarze"] ["[email protected]"] ["busy"] [0] .start Dzięki! – user3491101
Pytanie, czy istnieje sposób dynamicznego uzyskania adresu e-mail? Wiem o tym, ale w przyszłości, gdybym tego nie wiedział - w jaki sposób miałbym do niego dostęp? Czy istnieje jakaś własność dziecka lub coś podobnego? – user3491101
foreach (var item w myObj ["kalendarze"]) Console.WriteLine (item.Name) –