Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2014, 04:44   #1
Isaev
Пользователь
 
Регистрация: 16.03.2007
Сообщений: 13
По умолчанию Нужно кусок кода перевести из AS3 в PHP, JSON.serialize - ActionScript, Flash

Доброго времени суток!

Нужно кусок кода перевести из AS3 в PHP, но нет возможности проверит как он в AS3 отработает. Кто занимается с этим языком, протестите пару строк пожалуйста.

PHP код:
str1 '{"info":{"reffer":"554332","name":"Tréck Davidson","sex":"2","friends":12}}';
str2 src.com.serialization.json.JSON.serialize(str1);
str2 str2.replace(new RegExp("\\\\\\\\""g"), "||");
res["data"] = str2
Интересно как будет представлен символ "e" с черточкой сверху в слове "Treck" после serialize и для чего тут replace?
как я понимаю в данном случае он вообще ничего не заменит, т.к. двойных слешей не будет? Или заменит таки одиночные слеши?

В общем результирующую строку, если не сложно, напишите

Последний раз редактировалось Isaev; 29.06.2014 в 05:47.
Isaev вне форума Ответить с цитированием
Старый 09.07.2014, 13:24   #2
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
src.com.serialization.json.JSON.ser ialize(str1);
Это что за пакет? Укажите библиотеку.
Цитата:
Код:
RegExp("\\\\\\\\"
Смею предположить, что имелась ввиду замена "\\\\" на "||" целиком все по тексту трека, остальные символы - экранирующие, да и вообще, сама регулярка странная и не факт, что рабочая, хотя я в них не особо силен. Одиночные не заменит. С символами других языковых раскладок непосредственно при сериализации ничего случиться не должно, там работа идет на уровне кодов символов.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 09.07.2014, 15:14   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

бред какой-то у вас в коде...
Код:
str1 = '{"info":{"reffer":"554332","name":"Tréck Davidson","sex":"2","friends":12}}';
// в str1 запинали json-строку
str2 = src.com.serialization.json.JSON.serialize(str1);
// а теперь пытаемся эту строку сериализовать в str2
// только вот сериализация - это перевод хэша в строку
// представим, что там нужен парсер, но
str2 = str2.replace(new RegExp("\\\\\\\\", "g"), "||");
// пытаемся по объекту (хэшу) пробежать регуляркой...
res["data"] = str2;  // ну тут понятно, результат закидываем в какой-то там глобальный хэш
логики я тут не вижу ваще никакой...
предположим, что нарушена последовательность и сперва надо пробежаться регуляркой по строке, а затем уже закинуть ее в хэш...
но опять же зачем регулярка? В начальной строке нет четырех слешей O_o
Вобщем на пыхе это будет примерно так:
Код:
<?php
  $str1 = '{"info":{"reffer":"554332","name":"Tréck Davidson","sex":"2","friends":12}}';
  $str2 = json_encode($str1);
  $str2 = preg_replace("/\\{4}/", '||' , $str2);
  $res['data'] = $str2;
?>
только в отличие от экшнскрипта, пых во время прегреплейса преобразует хэш обратно в строку, заэкранировав спецсимволы, в частности "е с полосочкой" и внутренние кавычки (соответственно никакого несоответствия типов, следовательно интерпретатор ошибками не блеванет) — почему так лучше спросить у гуру пыха. Я всегда считал этот язык непредсказуемым, особенно на непонятном коде, который ломается на других языках.
Было бы проще, знали бы мы задачу.

п.с.
Цитата:
Смею предположить, что имелась ввиду замена "\\\\" на "||" целиком все по тексту
все так
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 09.07.2014, 15:14   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

дубль-пост...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 09.07.2014, 15:27   #5
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
логики я тут не вижу ваще никакой...
Ответ, скорее всего, кроется в
Цитата:
src.com.serialization.json.JSON
который явно самописанный и как именно он сериализует - фиг его поймет. Вероятнее всего, на его выхлопе как раз и появляются эти бэкслэши. Скорее всего, имеем дело с попыткой заставить работу несколько кусков копипасты из разных проектов, подпертых двумя велосипедами и несколькими костылями. Без контекста сказать сложно. А вот для чего все это сделано - одному богу известно.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 09.07.2014, 16:29   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
который явно самописанный и как именно он сериализует - фиг его поймет. Вероятнее всего, на его выхлопе как раз и появляются эти бэкслэши.
Что-то это все сомнительно для.
AS3 же вроде на ECMAscript 5.5+? У него вроде должен быть встроенный объект JSON по работе с этим стандартом, к чему эту зверю подключать, если из коробки есть готовое?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 09.07.2014, 16:29   #7
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
который явно самописанный и как именно он сериализует - фиг его поймет. Вероятнее всего, на его выхлопе как раз и появляются эти бэкслэши.
Что-то это все сомнительно для.
AS3 же вроде на ECMAscript 5.5+? У него вроде должен быть встроенный объект JSON по работе с этим стандартом, к чему эту зверю подключать, если из коробки есть готовое?
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 10.07.2014, 11:28   #8
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
У него вроде должен быть встроенный объект JSON по работе с этим стандартом
Есть, но у него другой пакет.
Код:
com.adobe.serialization.json.JSON;
Тут же, подключен какой-то свой, видимо, либо сторонний (хотя, сырье там открытое, могли и просто сделать рефакторинг "по Д. Попову"). Из коробки готовое у эдабов, мягко говоря, не все фонтан. В частности, оно не умеет работать с типизированными объектами.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 10.07.2014 в 11:38.
crazy horse вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AS3, функции, зависящие от календаря - ActionScript, Flash Санеккк Общие вопросы Web 1 30.03.2015 10:06
Помогите перевести кусок кода с С на паскаль afen Помощь студентам 0 17.11.2014 09:29
Подскажите как перевести кусок кода с Delphi на C++ zheka1980 C++ Builder 2 03.08.2014 15:50
Перевести кусок кода из C++ в Delphi jhonyxakep Общие вопросы Delphi 2 25.09.2011 08:28
PHP & Flash (AS3) Abuhamed PHP 1 19.06.2011 08:38