Вопрос разработки для API RESTful: один из входных параметров для моего API (то есть данные, отправляемые с клиента на мой API) - это словарь (пары хэш / ключ-значение). Каков наилучший способ закодировать это так, чтобы API можно было легко вызывать из веб-страниц, а также из скриптов / языков программирования?
Моей первой мыслью было json кодировать объект, примерно так:
var data = {a:'one', b:'two'};
form_paramter_x = JSON.stringify(data);
и декодировать на сервере:
data = simplejson.loads( request.POST['form_paramter_x'] )
Альтернативой может быть кодирование в виде пар ключ-значение в стиле html-form-checkbox:
form_param_x=a:one&form_param_x=b:two
Последняя альтернатива потребует специального анализа ключа и значения (часть «a: one») и, как правило, выглядит менее чистой, но также кажется более близкой к базовой HTML-форме, что, вероятно, является хорошей вещью.
Что из этого чище? Или есть другая лучшая альтернатива?