0

私が取得している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))

私はこれで何時間も立ち往生しています、誰か助けてください!前もって感謝します!

4

3 に答える 3

2

あなたがしたい

$posts[$key] = $value;

問題は、文字列キーを持つ PHP 配列が JSON 用語のオブジェクトであることです。

于 2012-07-12T02:18:05.227 に答える
1

1 つ目は配列、2 つ目はオブジェクトです。

$posts = new stdClass();
$posts->key1 = "value1";
$posts->key2 = "value2";

$response['strings'] = $posts;
fwrite($out, json_Encode($response))
于 2012-07-12T02:18:08.920 に答える
1

あなたのコードは次のようになっていると思います:

$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))
于 2012-07-12T02:18:15.180 に答える