Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   загрузка JSON файла (http://www.flasher.ru/forum/showthread.php?t=204705)

areostar 09.11.2013 15:39

загрузка JSON файла
 
Пытаюсь подгрузить JSON фаил чтоб с ним работать:

Код AS3:

var JSON_URL:String = "http://www.qa.trade.spotoption.com/PlatformAjax/getJsonFile/PlatformData.json";
            var myJSONURL:URLRequest = new URLRequest(JSON_URL);   
            myLoader = new URLLoader(myJSONURL);
            myLoader.addEventListener("complete", jsonLoaded, false, 0, true);
                }
 
                private function jsonLoaded(event:Event):void
        {
                        myLoader.removeEventListener("complete", jsonLoaded);
 
                        var myJSON:String = String(myLoader.data);
                        var json_data:Array=JSON.decode(myJSON);
                }

НО получаю ощибку выполнения:
Цитата:

Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://www.qa.trade.spotoption.com/P...tformData.json
ссылка на 100% рабочая что делать?

TWETTI 09.11.2013 15:50

Разместите в корне сайта файл crossdomain.xml.

areostar 09.11.2013 16:42

Откуда взять или как написать?

Добавлено через 5 минут
тоесть обязательно надо на сервер загрузить?

TWETTI 09.11.2013 17:05

Создайте файл crossdomain.xml с таким содержанием:
Код:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

Положите его либо рядом с вашим json файлом либо в корень сайта.

areostar 09.11.2013 22:25

Для упращения перенес json файлик к себе в проект. Пишу


Код AS3:

public function JSONParser() 
                {
                        var JSON_URL:String = "PlatformData.json";
            var myJSONURL:URLRequest = new URLRequest(JSON_URL);   
            myLoader = new URLLoader(myJSONURL);
            myLoader.addEventListener("complete", jsonLoaded, false, 0, true);
                }
 
                private function jsonLoaded(event:Event):void
        {
                        myLoader.removeEventListener("complete", jsonLoaded);
 
                        var myJSON:Object = Object(myLoader.data);
                        var json_data:Object = JSON.parse(myJSON);
 
                        dispatchEvent(new Event("ParserCompleted"));
                }

Интересно вот что: в myJSON вес json считывается но в json_data я получаю null. В чем проблема??

TWETTI 10.11.2013 12:55

В JSON.parse() передается строка. myLoader.data это строка. Делайте так:
Код AS3:

var json_data:Object = JSON.parse(myLoader.data);


КорДум 10.11.2013 13:47

Потому что JSON — это формат записи данных в виде определенной строки, а не тип файла.


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

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