0

我有一个使用 Javascript 创建的 JSON 数组。

我在将其放入输入字段之前对其进行字符串化并使用 HTML 表单提交。

这是我解码后的输出:

var_dump(json_decode($_POST['json']),true); 输出:

[{"Mid": "1", "cat": "6", "room": "21", "rate": "EURP", "adchexb": "2,2,1"}, {"Mid": "2", "cat": "3", "room": "12", "rate": "EURP", "adchexb": "2,1,1"}]

然后每次我尝试访问任何属性时都会出错。我试过了:

$jsonObj->Mid //gives "Trying to get property of non-object in..."

$jsonObj[0]->Mis //error again.

基本上我需要在一个for循环中提取每个对象。请帮我弄清楚如何访问或获取循环中的所有对象属性。

谢谢

4

3 回答 3

0

您需要将 json 字符串解码为 php 对象

$jsonObj = json_decode($jsonObj)

于 2013-04-25T00:36:42.670 回答
0

json_decode()将为您提供来自此 json 输入的两个对象的数组:

$json = '[{"Mid": "1", "cat": "6", "room": "21", "rate": "EURP", "adchexb": "2,2,1"}, {"Mid": "2", "cat": "3", "room": "12", "rate": "EURP", "adchexb": "2,1,1"}]';
$result = json_decode($json);
var_dump($result);

使用数组访问运算符访问它们[]

echo $result[0]->Mid;

或者

echo $jsonObj[1]->Mid;
于 2013-04-25T00:40:12.187 回答
0

如果您想在json_encode函数中使用附加参数,可以添加第二个参数。例如:

$myArray = json_decode($jsonObj,true);

现在$myArray将是您访问的关联数组,如下所示:

$myArray[0]['Mid'];
于 2013-04-25T00:42:20.703 回答