2

以下を使用すると、すべての情報を 2 つの形式の配列として表示できますが、変数に値を割り当てて、たとえば完全なスクリーン ダンプではなく名前だけを使用したいと考えています。

$url = 'http://myurl';

$json = file_get_contents($url);

$dump=(var_dump(json_decode($json, true)));

$json_output = json_decode($json); print_r($json_output)

これはおそらく非常に簡単です、申し訳ありません。

4

3 に答える 3

8

以下を使用できます。

$object = json_decode($json);

これにより、そのようなプロパティにアクセスできるオブジェクトが作成されます..

echo $object->whatever;

または、次のように json_decode を使用できます。

$array = json_decode($json, TRUE);

これにより、個々のキーにアクセスできる配列が作成されます..

echo $array['whatever'];
于 2012-04-19T14:47:41.033 に答える
1

PHP の json_decode() 関数を使用すると、これを満たす必要があります。最初の呼び出しでは、2 番目のパラメーターとして TRUE を渡すため、関数は連想配列を返します。PHP マニュアル ページは、この違いを示しています。

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));

var_dump へのこれら 2 つの呼び出しは、以下を出力します。

object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

これらのいずれの場合でも、個々の要素にアクセスできます。

$json       = '{"url":"stackoverflow.com","rating":"useful"}';

$jsonAsObject   = json_decode($json);
$jsonAsArray    = json_decode($json, TRUE);

echo $jsonAsObject->url . " is " . $jsonAsArray['rating'];

これは出力されます:

stackoverflow.com is useful
于 2012-04-19T14:59:33.723 に答える
0

変数名にアクセスするには、オブジェクト指向の dot.notation を使用します。次のようなことを試してください:

alert($json_output->varName);
alert($json_output['varName']);
于 2012-04-19T14:51:11.110 に答える