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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.10.2009, 17:27
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 1  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
По умолчанию str.toJson();

Привет форумчане.

Есть у кого-нить или может в сети готовые решения для приттипринта JSON по аналогии с toXMLString(); Не хотелось бы делать то, что может уже есть готовое
__________________
: M F N W :

Старый 28.10.2009, 17:37
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 2  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
не совсем понятно, что вам нужно еще раз?

Старый 28.10.2009, 17:42
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 3  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
as3corelib http://code.google.com/p/as3corelib/

Старый 28.10.2009, 17:42
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 4  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
есть формат данных JSON. Есть формат данных XML.
Для XML в ас3 есть функция для приттипринта toXMLString(). Для Jsona нет.
__________________
: M F N W :

Старый 28.10.2009, 18:00
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 5  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
хм... а что подразумевается под "форматом данных JSON"?
это вроде как обычная строка...

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

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
вот так вот хочу
Цитата:
{"slots":
(пробел){
(пробел) (пробел)"action":"456", "res":"OK"
(пробел)}
}
__________________
: M F N W :


Последний раз редактировалось Fernando Costa; 28.10.2009 в 18:10.
Старый 28.10.2009, 18:18
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 7  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
То есть просто форматирование строки, заданной согласно спецификации JSON?
Тогда готовых решений не знаю, но это не так сложно сделать, используя рекурсию совместно с регулярными выражениями.

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
понятно короче вам надо тупо распарсить весь объект чтоб он в тресе красиво показался, ну так это дело 3 минут рекурсия решает

Старый 28.10.2009, 18:32
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 9  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
короче как-то так, особо не тестировал
Код AS3:
package  
{
	/**
	 * @author Anton Bodrichenko. www.bodrichenko.org.ua
	 */
	public class JsonFormatter
	{
 
		public function JsonFormatter() 
		{
 
		}
		public static function toJsonString($str:String):String
		{
			var rezultString:String = "{\n"+spaces(1);
			var str:String = $str;
			var strLength:int = $str.length;
			var indent:int = 1;
 
			for (var i:int = 1; i < strLength; i++) 
			{
				var char:String = str.charAt(i);
				if (char == "{" || char == "[" ) {
					indent++;
					rezultString += "\n " + spaces(indent) + char + "\n " + spaces(indent+1) ;
				}
				else if (char == "}" || char == "]" ) {
					rezultString += "\n " + spaces(indent) + char + "\n " + spaces(indent) 
					indent--;
				} else {
					rezultString += char;
				}
			}
			return rezultString
		}
 
		private static function spaces($indent:int):String
		{
			var str:String = "";
			while ($indent--) str += "   ";
			return(str);
		}
	}
}
__________________
: M F N W :

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

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Да, можно и так.
А можно с помощью той же as3corelib распарсить строку в объект, а объект уже, соответственно, вывести где-то таким макаром:

Код AS3:
public static function traceObject(obj:Object, ident:String = '', tab:String = '  ', traceSimpleTypes:Boolean = true):String{
	var out:String = '';
	for(var i:String in obj){
		if(typeof(obj[i]) == 'object'){
			out += ident + i + ': <' + getQualifiedClassName(obj[i]) + '>\n' + traceObject(obj[i], ident + tab, traceSimpleTypes);
		}else{
			out += ident + i + ': ' + obj[i];
			if (traceSimpleTypes) out += ' <' + getQualifiedClassName(obj[i]) + '>';
			out += '\n';
		}
	}
	return output;
}


Последний раз редактировалось SamFR; 28.10.2009 в 20:54.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
json

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

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


 


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


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