Zaklady prace s dekodovanim JSON v Dartu

Pokud ziskavate data z nejake sluzby, casto je dostanete v JSON. Dart pro tyto pripady ma specialni tridu JSON, ktera se nachazi v Dart SDK dart:convert. V nasem pripade se soustredime hlavne na jeji statickou metodu decode. Kdyz dostanete z jine stranky/handleru treba tento retezec: “{“web”:”pacman”}”, jak ziskat obsah “promenne” web?

JSON.decode vraci typ dynamic. Myslel jsem si ze to bude totez jako any v TypeScriptu, ale to jsem se mylil, proto JSON.decode(…).web vyvolavalo vyjimku. Je treba pretypovat dynamic na nektery z typu Dart’u, ktery ve skutecnosti vraci JSON.decode. V mem pripade to byl typ Map(dalsi typy jsou napriklad List, String, aj.) a s nim pak pracujete jako s polem, takze kod vypada nejak takto:

Pokud nevite jak ziskat data z webove sluzby v Dartu, kouknete na muj starsi clanek: http://jepsano.net/2014/12/jak-ve-dartu-ziskat-obsah-jine-strankyhandleru/

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.