我试图读取一个ajax发送jsonarray的值来建立我的文件名,但我似乎无法弄清楚如何读取该值。
我的php;
$postdata = $_POST['data'];
$jsondata = json_decode($postdata);
$myname = $jsondata->name;
$dir = 'users/'.$myname.'/desktop-'.$myname.'.json';
json数组看起来像这样;
[{"name":"mmichel"},
{"myicons":
[{"icon":
[{"name":"homepagelink","rel":"http://test.tocadovision.nl","id":"icon1","class":"icon bookmark"}]
},
{"icon":
[{"name":"aboutpagelink","rel":"http://test.tocadovision.nl","id":"icon2","class":"icon bookmark"}]
}]
}]
希望有人可以告诉我,我做错了什么..一定要轻松我猜
答案 0 :(得分:1)
由于$jsondata
包含一个对象的数组,因此您需要在作业中访问数组的第一个元素:
$myname = $jsondata[0]->name;
答案 1 :(得分:0)
确保在php配置中启用了json。 你可以通过
来做到这一点<?php
phpinfo();
这应输出类似的内容,表示启用了json模块。如果您没有启用此功能,请启用它。
确保$ json变量中有正确的有效json字符串,并使用以下方法之一。
$arr = json_decode($json, true);
print_r($arr[0]['name']);
$arr = json_decode($json);
print_r($arr[0]->name);