Формат PHP для JSON

Формат 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))