Полевые исследования
Я пытаюсь выяснить, есть ли название для этого соглашения, но я пока не могу его найти.
рубин
Для этого стоит промежуточное программное обеспечение, которое делает это в Ruby Rack::Utils
. См источник на Github .
Дополнительная информация по теме содержится в Руководствах по Ruby on Rails .
И вот интересный билет о коде, перемещаемом из Rails в промежуточное программное обеспечение Rack.
PHP
Я немного покопался в исходном тексте PHP, и кажется, что вся магия там происходит в исходном файле main/php_variables.c
. Код SAPI
вызывает метод php_std_post_handler
, определенный здесь. В конечном итоге это вызывает метод php_register_variable_ex
, который представляет собой 185 строк сложного синтаксического анализа строк в C (я должен признать, что C не моя сильная сторона).
Единственное имя, которое я смог найти здесь, было php_std_post_handler
, стандартный обработчик POST PHP .
Python
В Python этот формат не поддерживается по умолчанию. См. этот вопрос здесь на stackoverflow.com по теме.
Perl
Библиотека CGI
в Perl также не поддерживает этот формат. Это дает легкий доступ к одному или нескольким значениям, но не к вложенным значениям, как в вашем примере. См. Документацию по выборке значения или значений одного именованного параметра и извлечению списка параметров в виде хеша .
Java
Ознакомьтесь с горячими дебатами по поводу разбора параметров запроса в этот вопрос . Java не разбирает этот «вложенный формат» параметров POST в структуру данных по умолчанию.
Заключение
Я изучил это и не нашел ни одного имени для этого способа анализа параметров. Из всех языков, на которые я смотрел, только Ruby и PHP поддерживают этот формат изначально.