POST から受け取った JSON オブジェクトを PHP ファイル内で使用できるようにしたいと考えています。JSON は次のようになります。
array(1) {
["json"]=>
string(260) "[{"proddescr":"text1","prodpu":"1","prodcant":"1","prodnume":"text1x"}, {"proddescr":"text2","prodpu":"2","prodcant":"2","prodnume":"text2x"}, {"proddescr":"text3","prodpu":"Price:150.00","prodcant":"quantity:4","prodnume":"text3x"}]"
}
私はphpファイル内で次のようにアクセスします:
<?php
header('Content-type: application.json');
$x = json_decode($_POST['json']);
foreach($x as $i => $value){
print_r($x[$i]);
}
?>
今...デスクトッププログラミングから来ています...私はjson処理についてあまり知りませんが、JSON配列のすべての要素(3つは上に表示されています)とそのすべてのコンテンツにアクセスできる必要があります。foreach を使用して主要な要素にアクセスできるようですが、各「レコード」の内部要素にアクセスできないようです。
しかし、結果は次のようになります。
stdClass Object
(
[proddescr] => text1
[prodpu] => 1
[prodcant] => 1
[prodnume] => text1x
)
stdClass Object
(
[proddescr] => text2
[prodpu] => 2
[prodcant] => 2
[prodnume] => text2x
)
and so on
目的は、json 配列の値に基づいて INSERT ステートメントを作成できるようにすることです。
そのため、(foreach ループ内で) これら 3 つの (この場合) 配列項目のそれぞれから "proddescr" 値、"prodpu" 値、"prodcant" 値、および "prodnume" 値を取得できる必要があります。
私は試した
print_r($x[$i][0]);
また
print_r($x[$i]["proddesc"]);
配列の内部値にアクセスできるようにするためですが、機能しません(上記の2つのprint_rを追加すると、「500内部サーバーエラー」が発生し続けます.
配列のこれらのサブ値にアクセスするにはどうすればよいですか?