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

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

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

Регистрация: May 2007
Сообщений: 33
По умолчанию Разыскивается JSON to XML конвертер

Здравия !

Разыскивается JSON to XML конвертер на as3.
XML to JSON есть, хочется обратную операцию.

Кто нибудь встречал ?
Спасибо !

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

Регистрация: May 2008
Адрес: Земля.Украина.Одесса
Сообщений: 219
Отправить сообщение для ERrorMAKros с помощью ICQ Отправить сообщение для ERrorMAKros с помощью Skype™
А можно выложить XML to JSON?

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

Регистрация: Nov 2007
Сообщений: 55
Цитата:
Сообщение от ERrorMAKros Посмотреть сообщение
А можно выложить XML to JSON?
первый же результат в гугле
http://krasimirtsonev.com/blog/artic...-json-xml2json

Старый 24.05.2012, 18:05
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
https://www.google.ru/#sclient=psy-a...w=1680&bih=912
Первый, второй и седьмой результат.
Возьми оттуда алгоритм.

Старый 24.05.2012, 18:28
RJ Presto вне форума Посмотреть профиль Отправить личное сообщение для RJ Presto Найти все сообщения от RJ Presto
  № 5  
Ответить с цитированием
RJ Presto

Регистрация: Nov 2007
Сообщений: 55
в связи с тем, что JSON.decode есть в as3lib, а в 11м плеере так и вообще нативно - задачу можно свести к сериализации Object в XML

Код AS3:
function isSimpleType(obj:Object):Boolean
{
	return (obj is String) ||
		(obj is int) ||
		(obj is uint) ||
		(obj is Number) ||
		(obj is Boolean);
}
 
function objectToXML(sourceObject:Object, rootNode:String = "root"):XML
{
	var result:XML = <{rootNode}></{rootNode}>
 
	for (var field:String in sourceObject)
	{
		var value:* = sourceObject[field];
		var node:XML;
		if (isSimpleType(value))
		{
			node = <{field}>{value}</{field}>;
			result.appendChild(node);
		}
		else
		{
			node = objectToXML(value, field);
			result.appendChild(node);
		}
	}
 
	return result;
}

Старый 24.05.2012, 20:39
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
И теперь создаем объект:
Код AS3:
var o:Object = { };
o.o = o;
и привет objectToXML()

Да, кроме этого - а что с массивами? <0>foo</0><1>bar</1> - это вообще не валидный ХМЛ.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 24.05.2012 в 20:43.
Старый 24.05.2012, 20:46
RJ Presto вне форума Посмотреть профиль Отправить личное сообщение для RJ Presto Найти все сообщения от RJ Presto
  № 7  
Ответить с цитированием
RJ Presto

Регистрация: Nov 2007
Сообщений: 55
Цитата:
Сообщение от wvxvw Посмотреть сообщение
И теперь создаем объект:
Код AS3:
var o:Object = { };
o.o = o;
и привет objectToXML()
быстренько набросал, сделать такой тест не догадался
но по большому счёту, это не очень-то реалистичная ситуация

да и предполагается, что на вход придёт объект из JSON.decode - там такая ситуация невозможна

Код AS3:
function isSimpleType(obj:Object):Boolean
{
	return (obj is String) ||
		(obj is int) ||
		(obj is uint) ||
		(obj is Number) ||
		(obj is Boolean);
}
 
function objectToXML(sourceObject:Object, rootNode:String = "root"):XML
{
	var result:XML = <{rootNode}></{rootNode}>
 
	for (var field:String in sourceObject)
	{
		var value:* = sourceObject[field];
 
		if (sourceObject is Array)
		{
			field = rootNode;
		}
 
		var node:XML;
		if (isSimpleType(value))
		{
			node = <{field}>{value}</{field}>;
			result.appendChild(node);
		}
		else
		{
			node = objectToXML(value, field);
 
			if (value is Array)
			{
				for each (var child:XML in node.children())
				{
					result.appendChild(child);
				}
			}
			else
			{
				result.appendChild(node);
			}
		}
	}
 
	return result;
}
такой код будет генерить валидный XML, но есть проблема с вложеными массивами - они раскрываются в один родительский


Последний раз редактировалось RJ Presto; 24.05.2012 в 20:49.
Старый 25.05.2012, 09:53
Bacrilio вне форума Посмотреть профиль Отправить личное сообщение для Bacrilio Найти все сообщения от Bacrilio
  № 8  
Ответить с цитированием
Bacrilio

Регистрация: May 2007
Сообщений: 33
Цитата:
Сообщение от RJ Presto Посмотреть сообщение
да и предполагается, что на вход придёт объект из JSON.decode
...
такой код будет генерить валидный XML, но есть проблема с вложеными массивами - они раскрываются в один родительский
Спасибо ! То что надо, в моем (частном) случае, можно и декодировать в объект и нет вложенных массивов.

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

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

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


 


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


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