0

私は JSON Decode で立ち往生しているようでした.jsonオブジェクトをデコードする方法がわからないか、非常に間違ったことをしている可能性があります.

$error_fields_structure['product_id'] = $this->input->post('product_id');
$error_fields_structure['main_product_quantity'] = $this->input->post('quantity');
$error_fields_structure = json_encode($error_fields_structure);

$error_fields_structure をビューに渡し、Java スクリプトで次のようにします。

<?php print_r(json_decode($error_fields_structure)); ?>;

firebug と次の出力でエラーが発生します

 stdClass Object
(
[product_id] => 62
[product_quantity] => 65
);

しかし、私がそうするなら

 <?php print_r(json_decode($error_fields_structure['product_id'])); ?>;

null 文字列とエラーが表示されます。json オブジェクト $error_fields_structure から特定の product_id と product_quantity を取得するにはどうすればよいですか?

4

1 に答える 1

3

有効な json 文字列のみをデコードできます。

<?php print_r(json_decode($error_fields_structure['product_id'])); ?>;

$error_fields_structure['product_id'] は json 文字列ではないため、正しくありません。

これを試して :

<?php 
$errorFieldsArr = json_decode($error_fields_structure,true);  //convert json string to array
var_dump($errorFieldsArr['product_id']); // get element from array
 ?>

また

<?php 
$errorFieldsArr = json_decode($error_fields_structure);  //convert json string to stdobject
var_dump($errorFieldsArr->product_id ); // get element from object
 ?>
于 2012-08-17T11:09:44.770 に答える