Формат JSON, который я получаю, это:
{ "test":[ {"key1":"value1"}, {"key2":"value2"} ] }
Но возможно ли получить этот формат?
{ "test": { "key1":"value1", "key2":"value2" } }
Мой php-код:
$key=$row[1]; $value=$row[2]; $posts[] = array($key => $value); $response['strings'] = $posts; fwrite($out, json_Encode($response))
Я застрял на этом часами, кто-то, пожалуйста, помогите! Заранее спасибо!
Вы хотите
$posts[$key] = $value;
Проблема в том, что массивы PHP со строковыми ключами являются объектами в терминах JSON.
первый – это массив, второй – объект.
$posts = new stdClass(); $posts->key1 = "value1"; $posts->key2 = "value2"; $response['strings'] = $posts; fwrite($out, json_Encode($response))
Я предполагаю, что ваш код выглядит так:
$posts = array(); while( somthing ) { $row = ... $key=$row[1]; $value=$row[2]; $posts[] = array($key => $value); } $response['strings'] = $posts; fwrite($out, json_Encode($response))
Ваше решение должно сделать это:
$posts = array(); while( somthing ) { $row = ... $key=$row[1]; $value=$row[2]; $posts[$key] = $value; } $response['strings'] = $posts; fwrite($out, json_Encode($response))