下面是我的' script.json'带有json数组的文件,我想要webUserid
和webPassword
{
"totalSize":2,
"webUserId":"abc",
"webPassword":"def",
"operation":"send",
"testMode":true,
"records":[
{
"phoneNumber":"1908908399",
"message":"Happy Birthday",
"Id":"a0YL0000008QYunMAG",
"deviceId":"ABCDEFXABCDEF"
}
]
}
我在下面尝试了但没有得到结果
<?php
$jsonString=file_get_contents("script.json");
$decoded=json_decode($jsonString,true);
foreach($decoded->data as $name){
echo $name->totalSize;
}
?>
答案 0 :(得分:1)
Zarif,尝试以下代码,100%工作.........:)
<?php
$jsonString=file_get_contents("script.json");
$decoded=array(json_decode($jsonString,true));
foreach($decoded as $name){
echo $name['totalSize'];
}
?>
答案 1 :(得分:0)
您当前的示例中不需要foreach循环,因为您只有一个级别。
您的主要问题是,当您之前声明要将结果作为关联数组时,您尝试将json_decode的结果用作对象。
json_decode
的第二个参数指定了返回值的格式,以便您完成
$decoded = json_decode($jsonString, true);
您将收到一个数组,您可以像
一样访问该数组echo $decoded['totalSize'];
如果你想在你的问题中把它当作对象处理,要么是状态false
要么在json_decode中省略第二个参数(默认情况下它默认是假的),以及那会让你做你想做的事情:
$decoded = json_decode($jsonString);
$decoded->totalSize;
答案 2 :(得分:-1)
让我们说
$myJSON = yourPostedJSON.
$myJSON = json_decode($myJSON, true);
echo $myJSON['webUserId'];
echo $myJSON['webPassword'];