Welcome! Log In Create A New Profile

Advanced

Re: json log и "экранирование" неопределенных переменных

Валентин Бартенев
July 26, 2020 08:38PM
On Sunday, 26 July 2020 19:42:58 MSK Slawa Olhovchenkov wrote:
> On Sun, Jul 26, 2020 at 07:29:04PM +0300, Валентин Бартенев wrote:
>
> > On Sunday, 26 July 2020 19:15:20 MSK Slawa Olhovchenkov wrote:
> > > On Sun, Jul 26, 2020 at 05:55:57PM +0300, Sergey Kandaurov wrote:
> > >
> > > >
> > > > > On 24 Jul 2020, at 14:13, Slawa Olhovchenkov <slw@zxy.spb.ru> wrote:
> > > > >
> > > > > Внезапно выяснилось что если пишем в json формате (ну ок,
> > > > > экранирование json), то отсутсвующе числовые значения все ломают.
> > > > > они идут как "-". может в этом случае их выводить как null?
> > > >
> > > > Такая подстановка используется в эскейпинге по умолчанию,
> > > > если значение переменной не найдено. В других форматах
> > > > эскейпинга значение не выводится, подробнее здесь:
> > > > http://nginx.org/r/log_format/ru
> > >
> > > ну по спецификации json отстувиие должно кодироваться как null, не?
> >
> > Это где такое написано?
>
> https://stackoverflow.com/questions/21120999/representing-null-in-json
>

Это не спецификация, а предпочтения пользователей StackOverflow.


> в предположении что значение числовое.
>
> в любом случае варианта выводить ничего нет -- для чисел будет не
> валидный json, а все числа пихать в виде строк в "" -- как-то тоже
> кажется неправильным.


Дело в том, что в nginx все переменные строковые. Они в первую очередь
предназначены для использования в конфигурации, а там нет отличий никаких
между числом и строкой. Конфигурация - это не ЯП с типизацией, а набор
токенов из текстового файла, которые затем интерпретируются в зависимости
от директивы, в которой используются.

Поэтому решение о том, как использовать каждую переменную в JSON: в виде
строки, заворачивая в кавычки, или в виде числа, не заворачивая - отдано
на откуп пользователю. Если пользователь решает использовать переменную
не в виде строки, то он должен позаботиться о том, чтобы она всегда
содержала в этом случае корректное значение с точки зрения выбранного
им варианта применения.

--
Валентин Бартенев
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 24, 2020 07:14AM

Re: json log и "экранирование" неопределенных переменных

Илья Шипицин July 24, 2020 07:18AM

Re: json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 24, 2020 07:22AM

Re: json log и "экранирование" неопределенных переменных

Илья Шипицин July 24, 2020 08:06AM

Re: json log и "экранирование" неопределенных переменных

Sergey Kandaurov July 26, 2020 10:56AM

Re: json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 26, 2020 12:16PM

Re: json log и "экранирование" неопределенных переменных

Валентин Бартенев July 26, 2020 12:30PM

Re: json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 26, 2020 12:44PM

Re: json log и "экранирование" неопределенных переменных

Илья Шипицин July 26, 2020 12:54PM

Re: json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 26, 2020 01:06PM

Re: json log и "экранирование" неопределенных переменных

Илья Шипицин July 26, 2020 01:08PM

Re: json log и "экранирование" неопределенных переменных

Slawa Olhovchenkov July 26, 2020 01:12PM

Re: json log и "экранирование" неопределенных переменных

Валентин Бартенев July 26, 2020 08:38PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 90
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready