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

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

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

Регистрация: Nov 2009
Сообщений: 176
По умолчанию подгружаем и парсим JSON

Приветствую!
Пытаюсь подгрузить JSON но что то ничего не получается.
Начинаю так:
Код AS3:
 
[Embed(source="js.json", mimeType="application/octet-stream")]
public static const Json:Class;
 
public function load()
{
  var json:JSON = new Json() as JSON;
  trace(json);
 
}
но почему то выводит null.
JSON имеет вид:
PHP код:
{"frames": {

"anim":
{
    
"frame": {"x":0,"y":0,"w":74,"h":74},
    
"rotated"false,
    
"trimmed"false,
    
"spriteSourceSize": {"x":0,"y":0,"w":74,"h":74},
    
"sourceSize": {"w":74,"h":74}
}
}

Что я делаю не так и как достать потом frame ?


Последний раз редактировалось Wadimir; 01.09.2012 в 23:06.
Старый 01.09.2012, 23:32
droopy вне форума Посмотреть профиль Отправить личное сообщение для droopy Найти все сообщения от droopy
  № 2  
Ответить с цитированием
droopy

Регистрация: Dec 2011
Сообщений: 9
По-моему вы делаете какую-то ерунду. Где вы взяли такой код?
[Embed(source="js.json", mimeType="application/octet-stream")]

Добавлено через 6 минут
если даже это работает, не лучше ли использовать
Код AS1/AS2:
private static const JSOn_TEXT:String =
{
a="a", b="b"
}

Старый 01.09.2012, 23:42
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Код AS3:
var json:Object = JSON.parse(new Json() as String);
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
Вы это имели ввиду?

Код AS3:
package 
{
	import com.adobe.serialization.json.JSON;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
 
	/**
	 * ...
	 * @author Mihael Popov mihael@bk.ru 
	 */
	public class JSONtest extends Sprite 
	{
		private var json:String ;
		private var loader:URLLoader = new URLLoader();
        private var request:URLRequest = new URLRequest();
 
		public function JSONtest():void
		{
			json = "json.php";
			request.url = json;
                        loader.addEventListener(Event.COMPLETE, start);
                        loader.load(request);
		}
 
		private function start(e:Event):void 
		{
			var loader:URLLoader = URLLoader(e.target);
                        var map:Object  = JSON.decode(loader.data);
			var frames:Object = map.frames;
			trace(frames.anim.frame.x + "   Х ");
			trace(frames.anim.frame.y + "   Y ");
			trace(frames.anim.frame.w + "   W ");
			trace(frames.anim.frame.h + "   H ");
			trace(frames.anim.frame.h + "   H ");
			trace(frames.anim.rotated+ "   ROTATED ");
			trace(frames.anim.trimmed+ "   TRIMED ");
			trace(frames.anim.spriteSourceSize.x+ "   X in  spriteSourceSize");
		}
	}
 
}
при условии, что файл json.php лежит в той же папке, что и флешка и содержимое в нем такое:
PHP код:
{"frames": {"anim":{"frame": {"x":0,"y":0,"w":74,"h":74}, "rotated"false"trimmed"false"spriteSourceSize": {"x":0,"y":0,"w":74,"h":74}, "sourceSize": {"w":74,"h":74}}}} 
не забывайте про :
Код AS3:
import com.adobe.serialization.json.JSON;
и на всякий:
Вложения
Тип файла: rar JSON_TEST.rar (421.6 Кб, 60 просмотров)
__________________
Не стыдно спросить, стыдно не знать !

Старый 02.09.2012, 04:25
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от Wadimir Посмотреть сообщение
но почему то выводит null.
Потому что new Json() создаст ByteArray (ничего другого при mime-type application/octet-stream создать не получится), а не JSON (который вообще не может иметь экземпляров, т.к. статический). Можете из полученного ByteArray прочитать строку и распарсить ее при помощи JSON.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 02.09.2012, 15:01
Wadimir вне форума Посмотреть профиль Отправить личное сообщение для Wadimir Найти все сообщения от Wadimir
  № 6  
Ответить с цитированием
Wadimir

Регистрация: Nov 2009
Сообщений: 176
Цитата:
Сообщение от droopy Посмотреть сообщение
Где вы взяли такой код?
[Embed(source="js.json", mimeType="application/octet-stream")]
[/as]
А что вас здесь смущает?

Цитата:
Сообщение от mihael_p Посмотреть сообщение
Вы это имели ввиду?
Нет

Цитата:
Сообщение от alatar Посмотреть сообщение
Можете из полученного ByteArray прочитать строку и распарсить ее при помощи JSON.
Огромное спасибо!

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

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

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


 


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


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