如何在PHP文件中创建JSON响应?

时间:2016-07-08 14:24:48

标签: php arrays json object

我想在我的第二台服务器上使用example.com文件包含的域getit.php获取JSON响应:

$arr = array('antwort' => 'jo');

echo json_encode($arr);

现在,当我尝试使用我的第一台服务器时:

$url = 'http://www.example.com/getit.php';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$antwort = curl_exec($ch);
curl_close($ch);

$antwort = json_decode($antwort);

    echo '<pre>';
    var_dump($antwort);
    echo '</pre>';

我明白了:

object(stdClass)#2 (1) {
  ["antwort"]=>
  string(4) "jo"
}

而不是普通数组,如何将其转换为数组?

我已经尝试了$antwort = json_decode(json_encode($antwort), True);,但我只得到一个奇怪的字符串?!

1 个答案:

答案 0 :(得分:2)

JSON的定义是:JavaScript Object Notation。 JavaScript数组只能有数字键。你的数组有字符串键,因此它必须编码为JavaScript OJBECT ,它允许使用字符串键。

告诉json_decode()您想要数组:

$arr = json_decode($json, true);
                          ^^^^

根据the docs

你是怎么做json_decode(json_encode($antwort))的?返回字符串的唯一方法是编码你从curl_exec()获得的$ antwort。