Привет, в последнее время у меня возникли некоторые проблемы с использованием данных JSON во Flash Builder, и я надеялся, что кто-то может мне здесь помочь.
Я потратил последний месяц, усердно работая надэта проблема, поэтому я Оглядывался, пробовал все, что я могу найти или придумать.Я просто застрял.
Я работал над гибким мобильным приложением для планшета Blackberry Playbook с Adobe Flash Builder 4.6.Это приложение reddit, предназначенное для предоставления пользователям основного канала reddit, subreddits, функции поиска, надеюсь войти в систему и т. Д. Конечно, мне нужна помощь reddit API для доступа к этой информации, документацию которой можно найти здесь:https://github.com/reddit/reddit/wiki/API/ API использует данные в формате XML или JSON.
Теперь о моей проблеме. Как упоминалось выше, я хочу отобразить фид reddit внутри приложения.Я хочу использовать средство визуализации элементов для настройки данных, отображаемых в каждой записи списка.
Одна запись будет состоять из: 1) миниатюры изображения в сообщении 2) заголовка сообщения 3) кнопки «Мне нравится / не нравится», но на данный момент это неважно.
Конечно, для начала я поместил компонент Список искр в представление дизайна.Затем я настроил новую службу данных HTTP с помощью панели «Данные / службы».Я указал http://www.reddit.com/r/all.json для URL.Я настроил тип возвращаемого значения и сделал тестовую операцию.Все связано просто отлично.Все данные поступили как обычно.Я дам вам представление о том, что возвращают данные, чтобы вы могли понять мою проблему позже.
Результаты тестовой операции (структура данных json):
- NoName1
- данные
- после
- до
- дети
- [0]
- данные
- media_embed
- оценка
- id
- title
- thumbnail
- url
- (и т. Д. И т. Д.)..)
- вид
- [1]
- data
- media_embed
- оценка
- название
- миниатюра
- (и т. д. и т. д.)
- вид
- [2] (продолжение массива)
- modhash
- kind
Как видите, чтобы добраться до thumnail, например, вам нужно будет пройти через data.children []. Data.thumnail.Когда я попытался связать эти данные с компонентом списка искров, я указал службу данных, указанную выше.Затем я указал опцию Поставщик данных как Children [], так как это значение обычно устанавливается в массиве.Вот тут-то и начинается беда.Последний вариант, поле «Метка», дал мне только одно значение: «kind».Так что, как вы можете сказать, он не ожидал, что данные пойдут дальше.Он останавливается на двух значениях только внутри каждого элемента массива, который будет Data и Kind, хотя он предлагает только Kind.Мне нужно пройти еще один уровень, чтобы получить доступ к заголовку и миниатюре.Это моя проблема.
Теперь я проанализировал код привязки и попытался изменить его, чтобы он соответствовал дополнительному вложенному значению.Нет успеха, что так всегда.Ниже приведен код, который генерирует привязка:
<s:List
id="myList" width="100%" height="100%" change="myList_changeHandler(event)"
creationComplete="myList_creationCompleteHandler(event)" labelField="kind">
<s:AsyncListViewlist="{TypeUtility.convertToCollectionredditFeedJSONResult.lastResult.data.children)}"/>
<s:List>
Очевидно, я хотел бы иметь что-то вроде следующего: "TypeUtility.convertToCollection(redditFeedJSONResult.lastResult.data.children.data"
, а затем установить labelField="title"
или "thumbnail".
Я, конечно, надеюсь, что кто-нибудь может мне помочь с этим.Я сошел с ума от того, что делать.Если вам нужны какие-либо дополнительные разъяснения, я был бы рад предоставить их.Я попытался объяснить ситуацию выше как можно более четко.Большое вам спасибо.
Тед