Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Общие темы > Болтовня

Болтовня Разговоры на любые темы (думайте, о чем пишите)

Ответ
 
Опции темы
Старый 13.04.2016, 12:47   #1
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
помогите понять синтаксис

есть такой код:
a:1:{
    
i:0;
    
a:13:{
        
s:2:\"id\";
        s:2:\"79\";
        s:4:\"name\";
        s:5:\"А-14\";
        s:3:\"url\";
        s:15:\"rolly/sety/a-14\";
        s:4:\"code\";
        s:4:\"CN79\";
        s:5:\"price\";
        s:3:\"540\";
        s:5:\"count\";
        i:1;
        s:8:\"property\";
        s:0:\"\";
        s:6:\"coupon\";
        N;
        s:8:\"discount\";
        d:0;
        s:8:\"fulPrice\";
        s:3:\"540\";
        s:6:\"weight\";
        s:3:\"580\";
        s:12:\"currency_iso\";
        s:3:\"RUR\";
        s:8:\"discSyst\";
        s:0:\"\";
    }

Это наверное json?
Из этого получается вот это:


не могу понять сей алгоритм
Миниатюры
Нажмите на изображение для увеличения
Название: 111.jpg
Просмотров: 967
Размер:	50.3 Кб
ID:	22340  
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 12:51   #2
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: помогите понять синтаксис

Это не JSON однозначно. А так ничего сложного: первый символ — префикс (a для массива, s для строки, i для целочисленного значения, d для хз чего (значения с точкой?)); дальше идут попарно количество элементов (для массива) или символов (для строки) плюс название параметра, и само значение на следующей строке.

В JSON это выглядело бы примерно так:
[{
    
"i":0,
    
"a":[
        
"id":79,
        
"name":"A-14",
        
"url":"rolly/sety/a-14",
        
"code":"CN79",
        
"price":"540",
        
"count":1,
        
"property":"",
        
"coupon":false,
        
"discount":0,
        
"fulPrice":"540",
        
"weight":"580",
        
"currency_iso":"RUR",
        
"discSyst":""
    
]
}] 
Ну и символы экранирования для кавычек, конечно.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (13.04.2016)
Старый 13.04.2016, 13:11   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: помогите понять синтаксис

Сообщение от Andvrok Посмотреть сообщение
i для целочисленного значения, d для хз чего (значения с точкой?))
ну если i-int, то d-double
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ant0N (13.04.2016)
Старый 13.04.2016, 13:14   #4
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: помогите понять синтаксис

Сообщение от impersonalis Посмотреть сообщение
ну если i-int, то d-double
Тоже так подумал, но меня смутило использования дабла для процентной скидки.
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 13:45   #5
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: помогите понять синтаксис

Andvrok, спасибо!
вот мне интересно зачем было изобретать такой велосипед, нельзя было взять json?
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 13:55   #6
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: помогите понять синтаксис

еще вопрос
s:68:\"запеченный острый с копченым лососем\";
почему 68?



------------------upd -----------------
а, все понял. кириллица считается за 2, а пробелы по одному
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 14:37   #7
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: помогите понять синтаксис

Сообщение от ant0N Посмотреть сообщение
Andvrok, спасибо!
вот мне интересно зачем было изобретать такой велосипед, нельзя было взять json?
Ленивый разраб, который не освоил json (хоть это и невозможно), и которому лень парсить его ручками? Я когда то примерно такую же шнягу писал, что бы проще было парсить строки, не стараясь искать открывающий и закрывающий строку символ (а то вдруг посреди строки встретится, это же ещё морока). Смысл разрабатывать такое был когда-то, но уже давным давно есть JSON.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 15:07   #8
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: помогите понять синтаксис

Сообщение от St_AnGer Посмотреть сообщение
парсить его ручками
Ну это вообще пушка, json ручками парсить.
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 15:15   #9
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: помогите понять синтаксис

Сообщение от Andvrok Посмотреть сообщение
Ну это вообще пушка, json ручками парсить.
Не поверишь, многие не знаю что за хрень такая JSON и начинают её читать (парсить) именно ручками. Особенно если это начинающий программер или вообще - начинающий сайтописец (обычно у таких и вылазиют вот такие {s:5:"ololo"}, да блин, пока я здесь на форуме не спросил когда-то давно и не получил ответ от Моки о пользе JSON'а - сам изобретал свои форматы передачи данных). Давеча чуть не начал писать свой парсер под C# для юньки, потому что не мог найти нормальный в итоге какой-то нашёл, чем добился резкой экономии времени.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 16:20   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: помогите понять синтаксис

А я даже не php программист
http://php.net/manual/ru/function.serialize.php
http://php.net/manual/ru/function.unserialize.php
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Andvrok (13.04.2016), ant0N (13.04.2016)
Старый 13.04.2016, 16:34   #11
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: помогите понять синтаксис

Так вот оно что. Пхпхшный говносериалайзер такое делает.
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 16:35   #12
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: помогите понять синтаксис

Сообщение от Andvrok Посмотреть сообщение
Так вот оно что. Пхпхшный говносериалайзер такое делает.
Ну почему говно? Php вообще как парсер всегда быстро работал, даже переменные со знака $ начинаются для ускорения парсинга. А тут такое же упрощение для ускорения чтения. Единственное - использовать это на клиенте странный выбор. А в остальном две функци для сохранения и чтения своих классов/массивов/переменных/и т.д.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 16:40   #13
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: помогите понять синтаксис

Сообщение от pax Посмотреть сообщение
Ну почему говно? Php вообще как парсер всегда быстро работал, даже переменные со знака $ начинаются для ускорения парсинга. А тут такое же упрощение для ускорения чтения. Единственное - использовать это на клиенте странный выбор. А в остальном две функци для сохранения и чтения своих классов/массивов/переменных/и т.д.
В том же пхп есть json_encode и json_decode, при этом это будет удобоваримый, читаемый, совместимый со всем формат.
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 16:46   #14
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: помогите понять синтаксис

Сообщение от Andvrok Посмотреть сообщение
В том же пхп есть json_encode и json_decode, при этом это будет удобоваримый читаемый совместимый со всем формат.
Ну ты не путай назначения этих форматов. Все таки они выполняют разные задачи. Один предназначен для быстрой сериализации/десериализации объектов своего языка, другой общедоступный, который прочитать не так быстро, чем приведенный формат.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 13.04.2016, 16:51   #15
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,356
Написано 2,472 полезных сообщений
(для 6,854 пользователей)
Ответ: помогите понять синтаксис

Сериализуйте/десериализуйте данных на 1мб
Сначала через serialize, unserialize
Потом через json_encode, json_decode
Результатам не удивляемся.
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com