powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JavaScriptSerializer медленный
25 сообщений из 179, страница 4 из 8
JavaScriptSerializer медленный
    #38317616
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

где нативное решение задачи? я правильно понимаю, вердикт такой — десерилизовать приведенные мною данные в приведенную структуру нельзя? или просто кто-то этого не умеет. потому что ....обожемой!..... данные не такие!
ISO-8601

Свой "формат" выбрось на свалку. Я тебе таких форматов сотню могу нагенерить. И что, будешь свой форматтер учить распознавать все форматы?
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317625
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

http://erlyvideo.org/doc/usage#api

обращение к API, отдаёт вот это:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[{"timestamp":1372636800,"path":"2013/07/01/00/00","bitrate":2191,"segments":
[{"second":2,"duration":3909,"size":1055432,"bitrate":2160},{"second":6,"duration":3909,"size":1058816,"bitrate":2166},
{"second":10,"duration":3909,"size":1141348,"bitrate":2335},{"second":14,"duration":3909,"size":1038512,"bitrate":2125},
{"second":18,"duration":3909,"size":1095100,"bitrate":2241},{"second":22,"duration":3910,"size":1047912,"bitrate":2144},
{"second":26,"duration":3909,"size":1037008,"bitrate":2122},{"second":30,"duration":3909,"size":1060320,"bitrate":2170},
{"second":34,"duration":3909,"size":1050356,"bitrate":2149},{"second":38,"duration":3909,"size":1073480,"bitrate":2196},
{"second":42,"duration":3909,"size":1075924,"bitrate":2201},{"second":45,"duration":3909,"size":1048288,"bitrate":2145},
{"second":49,"duration":3909,"size":1053364,"bitrate":2155},{"second":53,"duration":3909,"size":1131196,"bitrate":2315},
{"second":57,"duration":3909,"size":1099048,"bitrate":2249}]},
{"timestamp":1372636860,"path":"2013/07/01/00/01","bitrate":2186,"segments":
[{"second":1,"duration":3909,"size":1022908,"bitrate":2093},{"second":5,"duration":3909,"size":1054868,"bitrate":2158},
{"second":9,"duration":3909,"size":1053364,"bitrate":2155},{"second":13,"duration":3909,"size":1057876,"bitrate":2165},
{"second":17,"duration":3909,"size":1072352,"bitrate":2194},{"second":21,"duration":3909,"size":1057124,"bitrate":2163},
{"second":25,"duration":3909,"size":1071788,"bitrate":2193},{"second":28,"duration":3909,"size":1050168,"bitrate":2149},
{"second":32,"duration":3909,"size":1055620,"bitrate":2160},{"second":36,"duration":3909,"size":1063704,"bitrate":2176},
{"second":40,"duration":3909,"size":1063328,"bitrate":2176},{"second":44,"duration":3909,"size":1208840,"bitrate":2473},
{"second":48,"duration":3909,"size":1158268,"bitrate":2370},{"second":52,"duration":3909,"size":999972,"bitrate":2046},...



и заказчику фиолетово на ISO, или формат, который жуёт нативный десериализатор. есть API, которое отдаёт данные, их надо обработать. на Json.NET это решается элементарно.

нативно, по версии МСУ — вообще никак не решается. подождем когда авторы перепишут свой софт под нативный .NET.
и это прискорбно. закрываем тему. глупо продолжать бестолковый тред, с непробиваемым оппонентом.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317832
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt ты косить под дурачка долго будешь? Или правда не въезжаешь? Задача решается по второму пункту, ты чем читаешь? Десеришь в инт, а потом работаешь с ним как с датой у себя где-то в логике.
Сразу видно в soa ты не рубишь.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317834
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

мда. всё. иди уже. «десеришь в инт». смехопанорама тебя уже заждалась.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317837
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решение опубликованной задачи

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
	public struct Segment	{
		[JsonConverter(typeof(UnixDateTimeConverter))]
		public DateTime TimeStamp;
	}

	...

	var segments = JsonConvert.DeserializeObject<Segment[]>(data);



никаких свистоплясок с интами и прочей нечистью.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317853
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

мда. всё. иди уже. «десеришь в инт». смехопанорама тебя уже заждалась.
Осилить не в состоянии? Бывает.

hVosttрешение опубликованной задачи

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
	public struct Segment	{
		[JsonConverter(typeof(UnixDateTimeConverter))]
		public DateTime TimeStamp;
	}

	...

	var segments = JsonConvert.DeserializeObject<Segment[]>(data);



никаких свистоплясок с интами и прочей нечистью.
На помойку. Мне не нужен это гавнокод в прикладном коде. Иди 1С-никам, аксаптщикам и саповцам предложи с этим поработать. Что? Не знаешь, что это такое? Я не сомневался.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317854
-json-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторникаких свистоплясок с интами и прочей нечистью.
и чё?! намотав [JsonConverter(typeof(UnixDateTimeConverter))]
ты реально думаешь что за кулисами не будет происходить
Код: c#
1.
DateTime pDate = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(timestamp);


http://aione.ru/unix-timestamp-v-csharp-primeryi-konvertatsii/

P.S. некоторые мемберы мне тоже не очень нравятся, но в данном случае он прав!!!
тянуть кучу сторонних либ в приложение ради одной двух плюшек - ИМХО глуповато...
другой вопрос - почему МС не может расстараться с родным JSON сериализатором - но это отдельная песня - типизация и json как-то не очень вяжутся у них, вероятно! ;)
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38317999
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-json-,

бог ты мой. вы открыли мне глаза!

хотите, мил человек, я открою вам тайну ? нет никакого UnixDateTimeConverter на борту Json.NET — написать этот класс надо самостоятельно под свои цели.

суть была в том, чтобы показать расширяемость, которой Json.NET обладает, причем колоссальной расширяемостью, а родной сериализатор .NET — нет.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

был дан детский пример. решения я так не увидел.

зато имел удовольствие лицезреть огромную, ну просто потрясающую кучу отмазок и попыток перевести тему. и про ISO-то мы поговорили, и про «неправильный» формат завели волынку, чего только мы не придумали.. чтобы оправдать свою неспособность решать простейшие задачки. одно бла-бла-бла.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318059
-json-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторсуть была в том, чтобы показать расширяемость, которой Json.NET обладает, причем колоссальной расширяемостью, а родной сериализатор .NET — нет.
лучшее - враг хорошего! ;)
авторникаких свистоплясок с интами и прочей нечистью.
........
........
— написать этот класс надо самостоятельно под свои цели.
мдя...!
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318097
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

был дан детский пример. решения я так не увидел.

зато имел удовольствие лицезреть огромную, ну просто потрясающую кучу отмазок и попыток перевести тему. и про ISO-то мы поговорили, и про «неправильный» формат завели волынку, чего только мы не придумали.. чтобы оправдать свою неспособность решать простейшие задачки. одно бла-бла-бла.
Твой детский пример не удовлетворяет стандартизованным форматам. Как его решать - я тебе объяснил на пальцах. Что не понятно?
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318100
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/ru-ru/library/bb412170.aspx Даты-времена и JSON
Формат JSON не предусматривает непосредственной поддержки дат и времен. Тем не менее, они очень часто используются, и в ASP.NET AJAX предусмотрена особая поддержка для этих типов. При использовании прокси-объектов ASP.NET AJAX тип DateTime в .NET полностью соответствует типу DateTime в JavaScript.
Если ASP.NET не используется, тип DateTime представляется в JSON в виде строки особого формата, который описан в разделе "Дополнительные сведения для опытных пользователей" ниже.
DateTimeOffset представляется в JSON как сложный тип: {"DateTime":dateTime,"OffsetMinutes":offsetMinutes}. Член offsetMinutes — это смещение местного времени относительно времени по Гринвичу (GMT, теперь также называемого временем в формате UTC), связанное с местоположением интересующего события. Член dateTime представляет момент времени, когда произошло интересующее событие (этот член тоже становится типом DateTime в JavaScript, когда используется ASP.NET AJAX, либо строкой, когда ASP.NET AJAX не используется). При сериализации член dateTime всегда сериализуется в GMT. Так, если описывается время 3:00 по Нью-Йорку, компонентом времени члена dateTime будет "8:00", а смещение в минутах offsetMinutes составит 300 (минус 300 минут, или 5 часов, относительно GMT).

ПримечаниеВ объектах DateTime и DateTimeOffset при сериализации в JSON информация сохраняется с точностью только до миллисекунд. Значения меньше миллисекунды (микро- и наносекунды) при сериализации теряются.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318343
-json-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор — написать этот класс надо самостоятельно под свои цели.
ни на что не претендуя... ;)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
 class Program
    {
        static void Main(string[] args)
        {
            string json = "[{\"timestamp\":1372291200},{\"timestamp\":1372291500},{\"timestamp\":1372491200}]";

            var serializer = new  JavaScriptSerializer ();
            var segments = serializer.Deserialize<IEnumerable<Segment>>(json);

            foreach (Segment segment in segments) {
                Console.WriteLine(segment.timestamp);
            }
            Console.ReadLine();
        }
    }

    class Segment
    { 
        private DateTime _timestamp;

        public Object timestamp
        {
            get {
                return _timestamp;
            }
            set {
                _timestamp = new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(Convert.ToDouble(value));
            }
        }
    }


конечно, я понимаю, что можно зацепиться за отсутствие struct and DateTime with Object!!!
НО! если мы заговорили о написании своего доп. класса, для json.net, то данный вариант (для меня) выглядит предпочтительнее, чем json.net with custom class!

+ не отрицаю, что json.net - некое вселенское благо - жаль, что МС не может\не хочет внедрить их наработки в свой FW!!!
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318348
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttсуть была в том, чтобы показать расширяемость, которой Json.NET обладает, причем колоссальной расширяемостью, а родной сериализатор .NET — нет.
Да даром твоя расширяемость не впала :)

1. Либо пишешь свой JavaScriptConverter и регистрируешь его в JavaScriptSerializer
2. Либо делаешь вычисляемое свойство

http://api.stackoverflow.com/1.0/questions?sort=featured&type=jsontext

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class StackOverflow
{
    public int total { get; set; }
    public StackOverflowQuestions[] questions { get; set; }
}

public class StackOverflowQuestions
{
    public int bounty_amount { get; set; }
    public int bounty_closes_date { get; set; }

    public DateTime bounty_closes_date_ofdate { get { return new DateTime(1970, 1, 1, 0, 0, 0, 0).AddSeconds(bounty_closes_date); } }
}



Код: c#
1.
2.
var serializer = new JavaScriptSerializer();
var obj = serializer.Deserialize<StackOverflow>(txt);



Всё. Чем твоя маркировка сторонним атрибутом лучше, чем использование нативных средств?
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318380
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

в том, что приходит дата и время в формате Unix Time и я хочу работать именно с DateTime, а не с какими-то интами. ясен пень, что можно десериализовать в int, потом перебросить в DateTime. можно сделать вычисляемое поле. вот таким макаром можно написать свою библиотечку, чтобы работать с Unix Time в будущем. — и чем своя лопата отличается от выверенной давно используемой сторонней библиотеки? при чем мы говорим не о наколенной поделки, какого-то забугорного Васи, а про библиотеку давно зарекомендовавшей себя, хорошо написанной и покрытой тестами, за что вполне заслуженно она включается в состав проекта ASP.NET MVC. заявлять, что это «тащить все говно с интернета в проект» — значит быть мягко говоря деревянным и невменяемым.

одна из способностей, которая отличает хорошего программиста, это умение повторно использовать готовые компоненты, написание собственных велосипедов должно быть сведено до минимума.

кстати, что странно в данном треде, что я тоже придерживаюсь минимализма, и стараюсь использовать сначала нативные методы, чтобы уменьшить зависимость от внешних библиотек, но мне хватает смелости, чтобы при возможности пользоваться готовыми качественными сторонними инструментами , и не только по причине «прижало», если это здорово сокращает время на разработку и делает проект в итоге лучше.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318390
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

еще в приведенном тобою решении происходит постоянные вычисления (даже не кешируемые) при любом обращении. думаю это не тянет даже не говнокод, ибо в сотнях тысяч структур просадка производительности со всякими LINQ будет колоссальная. зря ты это привёл.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318399
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-json-,

это решение плохое, хоть и рабочее. а что если таких сущностей несколько? и в каждом вот такая каша? один раз написал атрибут и пользуешься им сколько хочешь, вешаешь на что угодно. хоть на поле, хоть на свойство. в этом профит.

может выкинуть вообще атрибуты из .NET на помойку? есть же вычисляемые проперти.... ну-и-ну-блин. народ.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318414
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ, в том, что приходит дата и время в формате Unix Time и я хочу работать именно с DateTime, а не с какими-то интами.
Мало ли, что ты хочешь. А если будут приходить два склеенных гуида и ты захочешь тоже работать с DateTime? Именно для этого созданы ISO стандарты, которые нужно соблюдать.

hVosttясен пень, что можно десериализовать в int, потом перебросить в DateTime.
Ну так а в чем тогда проблема?

hVosttчем своя лопата отличается от выверенной давно используемой сторонней библиотеки?
Тем, что она простая и очевидная, а самое главное - используется нативный проверенный сериализатор. Если я буду в проекте на каждый более менее нестандартный для .NET чих тащить левые сборки, то мой проект превратится в кучу неуправляемого неподдерживаемого навоза. Если задача решается одной строчкой кода, зачем мне тащить левую сборку для этого? Я бы еще понял, если бы эту левую сборку можно было бы оформить в виде несложного класса в виде хелпера, чтобы включить в свой проект. Но когда идет речь о левых тяжеловесных сборках, которые к тому же полностью заново переопределяют и дополняют возможности нативных сериализаторов - ну его в топку.

hVosttпри чем мы говорим не о наколенной поделки, какого-то забугорного Васи, а про библиотеку давно зарекомендовавшей себя, хорошо написанной и покрытой тестами, за что вполне заслуженно она включается в состав проекта ASP.NET MVC. заявлять, что это «тащить все говно с интернета в проект» — значит быть мягко говоря деревянным и невменяемым.
Да ничего она там не зарекомендованная, не неси ереси. Обычная левая приблуда для лентяев, которые по одной кнопке хотят сотворить мир. Которые не умеют работать со штатными возможностями. Вот такие и качают эту хрень. А тупорылые MS, у которых в башке один маркетинг, которые и так уже засрали студию чем только можно, включили этот лисапед в пакет. К MS на текущий момент очень много притензий, так что я не первый.

hVosttодна из способностей, которая отличает хорошего программиста, это умение повторно использовать готовые компоненты, написание собственных велосипедов должно быть сведено до минимума.
Умничка. Напиши базовый класс, конвертер для сериализатора или хелпер и используй на здоровье. Зачем мне твоя приблуда?

hVosttкстати, что странно в данном треде, что я тоже придерживаюсь минимализма, и стараюсь использовать сначала нативные методы
Не ври нам тут. У тебя в проектах, по всей видимости, все сборки интернета хостятся

hVosttмне хватает смелости, чтобы при возможности пользоваться готовыми качественными сторонними инструментами , и не только по причине «прижало», если это здорово сокращает время на разработку и делает проект в итоге лучше.
Хватает смелости - используй этот хлам. Я не запрещаю.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318418
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

еще в приведенном тобою решении происходит постоянные вычисления (даже не кешируемые) при любом обращении. думаю это не тянет даже не говнокод, ибо в сотнях тысяч структур просадка производительности со всякими LINQ будет колоссальная. зря ты это привёл.
Садись, двойка. Это еще раз показывает твои знания и умения работать с геттерами свойств.

Код: c#
1.
2.
3.
4.
5.
6.
7.
public DateTime bounty_closes_date_ofdate 
{
    get
    {
        throw new Exception();
    }
}



Как думаешь, при десериализации StackOverflow будет ошибка? Вопрос тебе на домашнее задании, без дневника не приходи.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318422
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

я понял. ты живешь в идеальном мире и работаешь только с тем, что нативно поддерживается в .NET

если заказчик тебе ставит задачу по приему и обработке данных которые не в ISO, ты его шлешь лесом, пусть дескать те товарищи сначала своё гумно к ISO приведут. ну и заказчик идёт, что ему еще...

с гетерогенными системами тебе работать не доводилось, и за пределы разработки маленьких отчетных корпоративных приложений тебе выходить не приходилось.

мог бы посочувствовать. но на самом деле надо радоваться :) повезло тебе!
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318425
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttдаже не кешируемые
Не нужно на ходу тут выдумывать дополнительные задачи. Если нужно кеширование значение - пишется доп. поле. Если нужен пересчет на лету - это другое требование. Всё зависит от задачи. Не фантазируй.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318430
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

уперся ты в десерилизацию. не будет ошибки. но по задаче нужны DateTime, а не int. так что кол.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318434
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

да харе лепить околесицу! я сказал что по задаче в поле (я говорил что-нибудь про проперти???) должно быть DateTime, вы же тут понавыдумывали всякого, голимую отсебятину. решения я так до сих пор и не увидел. и понял, что не увижу. ибо ты незнаешь как решить задачу. просто. тупо. не. знаешь. даже на стек залез, и хоть бы там нашёл чего, так ты ещё искать не умеешь. мои соболезнования...
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318449
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ, я понял. ты живешь в идеальном мире и работаешь только с тем, что нативно поддерживается в .NET
Я живу не в идеальном мире и работаю много с чем. Но перед тем, как использовать тот или иной сторонний функционал, я минимум пытаюсь взвесить, насколько он будет оправдан. Пока не было таких задач, где я испытывал трудности с xml и json с помощью встроенного в fw функционала. Поверь мне, для этого не обязательно качать с кодплекса всякую муть.

hVosttесли заказчик тебе ставит задачу по приему и обработке данных которые не в ISO, ты его шлешь лесом, пусть дескать те товарищи сначала своё гумно к ISO приведут. ну и заказчик идёт, что ему еще...
Если формат данных заказчика нестандартен, я использую нативные инструменты для получения с последующей постобработкой. Никаких проблем, честное слово.

hVosttс гетерогенными системами тебе работать не доводилось, и за пределы разработки маленьких отчетных корпоративных приложений тебе выходить не приходилось.
Именно это я хотел бы сказать про тебя, особенно когда ты тут фантазировал про SOA на json (без xsd схем по сравнению с xml). Твои опусы просто забавляют.

hVosttмог бы посочувствовать. но на самом деле надо радоваться :) повезло тебе!
Выше.
...
Рейтинг: 0 / 0
JavaScriptSerializer медленный
    #38318454
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

выкинь свою SOA на помойку и реши уже задачку для младенцев. пока все эти слова звучат смехотворно, если даже такой пустяк не можешь решить.
...
Рейтинг: 0 / 0
25 сообщений из 179, страница 4 из 8
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JavaScriptSerializer медленный
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]