Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.02.2015, 20:35
dosya вне форума Посмотреть профиль Отправить личное сообщение для dosya Найти все сообщения от dosya
  № 1  
Ответить с цитированием
dosya

Регистрация: Feb 2015
Сообщений: 3
Cool Передача массива из php в flash. Как распарсить ответ в actionscript 2?

Здравствуйте, не получается распарсить массив который был преобразован в пхп который взял контент из mysql.
Сам ответ(Массив) из php выглядит так:
Код:
{friend:'user1',status:1,relationship:'0'};{friend:'user2',status:2,relationship:'Братья'};{friend:'user3',status:0,relationship:'Коллеги'}
Строил его под прихоти AS2;
Теперь принимаю его на стороне Флеша, далее загонял в массив, но все тщетно каждый i-ый элемент являлся String-овым, так что я умудрился разбить все с дного массива в другой преобразовывая его в Object(Ну шоб из {_} получить параметры) и сохранял каждый элемент в новый массив. Проверял через typeof(); все катит OBJECT Аллилуйя, но далее пробую вытащить из него что-то но опять этот undefined -_-"
Пробовал все сделать не через запрос в пхп а просто создать массив с обджектами все хорошо выводит. Кстать это все называется associative array. Все выводится как и в инете таких полно. Но именно у меня с внешним эррэйем все сложно.
И еще одно: чтоб загнать все это Стринговое значение в массив я был вынужден split-ом вырезать ; (точку с запятой) ну чтоб рассматривать их как отдельные элементы.
Пожалуйста помогите, буду признателен.
Вот и сам код:
Код AS1/AS2:
var firstarray:Array=new Array();
var friendsarray:Array=new Array() ;
var returner:LoadVars = new LoadVars();
var obj:Object=new Object();
Код AS1/AS2:
on (release) {
  sendXML = new XML("&login=" + escape(login));
  sendXML.sendAndLoad("data/friends.php",returner,"POST");
  returner.onLoad = function(success:Boolean)
  {
    firstarray = returner.arrayfromserver.split(";");
    firstarray.sortOn(["friend", "status" ]);
    for (i = 0; i < firstarray.length; i++)
    {
      obj=Object(firstarray[i]);
      friendsarray.push(obj);
      pole =pole+friendsarray[i].friend+" ";
    }
  };
}

Старый 13.02.2015, 10:45
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Все это у вас называется JSON. Формат ответа.
Ищите по форуму парсер. Я уже раза 3 кидал его в эту ветку за последние пару месяцев.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 13.02.2015, 10:46
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 3  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
это не json

Старый 13.02.2015, 11:00
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 4  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Да. Согласен. Не он. А похож, чертяка

Добавлено через 18 минут
С учетом того, что ФОРМАТ расположения всех знаков препинания стандартный:

Код AS1/AS2:
var sj = "{friend:'user1',status:1,relationship:'0'};{friend:'user2',status:2,relationship:'Братья'};{friend:'user3',status:0,relationship:'Коллеги'}"
 
 
var ARRREZ:Array = new Array()
var ARR1:Array = sj.split(";")												// Режем массив по ;
 
for ( var i=0; i<ARR1.length; i++ ){
	trace( "Source Array Item String:"+ARR1[i] )
 
	var tmp1 = ARR1[i].split("{")[1].split("}")[0].split(",")				// Выкидываем {}
	var tmpobj = ARRREZ[ARRREZ.length] = new Object()
 
	for( var j=0; j<tmp1.length; j++){
		var tmp2 = tmp1[j].split(":")
		if ( tmp2[1].indexOf("'") >= 0 ) tmp2[1] = tmp2[1].split("'")[1]	// Выкидываем ''
		tmpobj[tmp2[0]] = tmp2[1]
	}
 
	for ( var w in tmpobj ) { 
		trace( "    "+w+" = "+tmpobj[w] )
	}
}
 
trace( "\nTEST:"+ARRREZ[1].friend )
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 13.02.2015, 11:20
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 5  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Нажмите на изображение для увеличения
Название: Screenshot_1.png
Просмотров: 94
Размер:	49.5 Кб
ID:	31425
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 13.02.2015, 18:48
dosya вне форума Посмотреть профиль Отправить личное сообщение для dosya Найти все сообщения от dosya
  № 6  
Ответить с цитированием
dosya

Регистрация: Feb 2015
Сообщений: 3
Спасибо вам большое. Вы еще и код написали. Спасибо, Ой а как здесь закрыть форум, и объявить ваш ответ как верным ответом?

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.