Я пытаюсь выполнить POST-массив в RESTful PHP API. Идея состоит в том, чтобы разрешить (n> 0) записи, каждая из которых содержит remote_id, измерение_id и метрику.POSTing многомерный массив из Python
Вот мой клиент Python:
data = urllib.urlencode([
("remote_id", 1),
("dimension_id", 1),
("metric",metric1),
("remote_id", 1),
("dimension_id", 2),
("metric",metric2)
])
response = urllib2.urlopen(url=url, data=data)
А вот мой серверный PHP
<?php
print_r($_POST);
?>
Это возвращается, предсказуемо:
Array
(
[remote_id] => 1
[dimension_id] => 2
[metric] => 16
)
Он смотрит на меня, как я перезапись каждый экземпляр remote_id, dimension_id и метрика с конечными значениями, что неудивительно, поскольку они все с одинаковыми именами.
Каков правильный способ сделать это? Я вижу ужасный метод с уникальными ключами (1_remote_id, 1_dimension_id, 1_metric + 2_remote_id, 2_dimension_id, 2_metric), но это не очень хорошо масштабируется.
Я предполагаю, что я после того, как что-то вроде этого PHP, но в Python:
<?php
$observations = array();
$observations[] = [
"remote_id" => "a1",
"metric_id" => "foo",
"metric" => 1
];
$observations[] = [
"remote_id" => "a1",
"metric_id" => "bar",
"metric" => 2
];
?>
Цените любые советы!
Сэм
Я получаю недействительный синтаксис, если я помещаю [] s за пределы строк (например, «remote_id» []). Если я кладу их внутри я получаю это: Массив ( [remote_id] => Массив ( [0] => 1 [1] => 1 ) [dimension_id] => Массив ( [0] => 1 [1] => 2 ) [метрика] => Массив ( [0] => 16 [1] => 16 ) ) , который выглядит довольно хорошо ! благодаря –