0

我似乎被 JSON 解码困住了,我不知道如何解码 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)); ?>;

我在萤火虫和以下输出中收到错误

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

但如果我这样做

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

它给了我一个空字符串和一个错误我如何从 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 回答