2012-02-14 4 views
0

質問:下記のJSON配列を分割して反復処理するにはどうすればよいですか?PHPで名前の付けられていないJSON配列を解析する

私はAJAX Webアプリケーションを作っています.JavaScriptでオブジェクトの配列をシリアル化し、それらをphpスクリプトに渡すURLに入れておく必要があります。 。これは、すべての罰金起こっているとPHPスクリプトはそうのようなJSONをrecieves

$passed = $_GET['result']; 
if(isset($passed)){ 

$passed = str_replace("undefined" , " " , $passed); /*had to add this to remove the undefined value*/ 

$json = json_decode(stripslashes($passed)); 
echo"<br/>"; 
var_dump($json); //this is working and dumps an array 
} 

私はそうのような出力をエコーデコードされたJSON上のvar_dump呼び出す

...

array(1) { [0]=> object(stdClass)#70 (2) { ["itemCount"]=> int(0) ["ItemArray"]=> array(2) { [0]=> object(stdClass)#86 (6) { ["itemPosition"]=> int(0) ["planPosition"]=> int(0) ["Name"]=> string(5) "dsfsd" ["Description"]=> string(3) "sdf" ["Price"]=> string(0) "" ["Unit"]=> string(0) "" } [1]=> object(stdClass)#85 (6) { ["itemPosition"]=> int(1) ["planPosition"]=> int(0) ["Name"]=> string(4) "fdad" ["Description"]=> string(3) "sdf" ["Price"]=> string(0) "" ["Unit"]=> string(0) "" } } } }

The JSON これは私が受け取っているJSONです。ペアの中には名前がないようですね?この配列の要素にアクセスするにはどうすればよいですか?みんな

The Json I would like to parse in PHP

+2

"ペアの中には名前がないようですね?" ...ビッグブルーマーブルでは何を話していますか? –

+0

申し訳ありませんが、私のJSONの知識は限られています。 – JackMahoney

+1

トピックはありませんが、jsonがどのようなアプリ/ツールを解析しているのですか? – gorelative

答えて

3

これらの要素のいくつかはstdClassとして戻ってきますouはvar_dumpの出力で見ることができます。あなたの$json変数で、例えば、標準的なオブジェクト表記法と属性で取得することができます。

echo $json[0]->itemCount; // 0 
echo $json[0]->itemArray[0]->itemPostion; // 0 

また、あなたはパブリックデータメンバーをループすることがあります、ただのPHPオブジェクトなどの上はstdClassのインスタンスを反復処理することができますので、もう一度$jsonと:

foreach(echo $json[0]->itemArray[0] as $key => $value) 
    echo 'key: ' . $key . ', value: ' . $value . PHP_EOL; 

が、その最初のオブジェクトを介して、echoは、オブジェクトのメンバーの名前と値をループを実行するだろう。

+0

非常に参考になりましたPHPに新しい - Javaにもっと慣れています。ありがとうございました。 – JackMahoney

2

たくさん

おかげであなただけのインデックスでそれらにアクセス:それはあなたが「通常」の通常の意味での配列にアクセスするので、私はかもしれない方法だと

data[0] // first data item 

注意ここであなたの質問について何かを見逃してください...

関連する問題