用内部数组读取Json对象

时间:2017-05-12 05:49:52

标签: php json

这是我的JSON结果:

{
  "@odata.context": "http://wabi-west-europe-redirect.analysis.windows.net/v1.0/collections/washington/workspaces/37380bc1-dd47-4c95-8dbd-5efecafc8b26/$metadata#reports",
  "value": [
    {
      "id": "6ea77895-f92a-4ca6-90f7-cdade3683cd6",
      "modelId": 0,
      "name": "america",
      "webUrl": "https://app.powerbi.com/reports/6ea77895-f92a-4ca6-90f7-cdade3683cd6",
      "embedUrl": "https://embedded.powerbi.com/appTokenReportEmbed?reportId=6ea77895-f92a-4ca6-90f7-cdade3683cd6",
      "isOwnedByMe": true,
      "isOriginalPbixReport": false,
      "datasetId": "3f1f480c-4a8c-4756-87eb-fc29f5d76de3"
    },
    {
      "id": "ce558be6-aaf9-4bee-b344-6db7754e572b",
      "modelId": 0,
      "name": "dency",
      "webUrl": "https://app.powerbi.com/reports/ce558be6-aaf9-4bee-b344-6db7754e572b",
      "embedUrl": "https://embedded.powerbi.com/appTokenReportEmbed?reportId=ce558be6-aaf9-4bee-b344-6db7754e572b",
      "isOwnedByMe": true,
      "isOriginalPbixReport": false,
      "datasetId": "5264cf84-214a-4c33-8f8e-f421d8ce1846"
    }
  ]
}

在PHP中进入

$response = json_decode($aboveresult);

但我的问题是数值是在array.I想要获得像id,modelId,Name,...这样的数组值 请帮我。 我尝试了$ response ['value']。但它的显示错误如不能使用stdClass类型的对象作为数组

3 个答案:

答案 0 :(得分:1)

json_decode()接受第二个参数,默认为false。如果您通过true,该函数会返回一个关联array而不是stdClass的实例,您可以按照以前的方式使用它。

答案 1 :(得分:0)

你必须改变:

$response = json_decode($aboveresult,true);

当您将第二个参数提到true时,您将获得ASSOCIATIVE数组

答案 2 :(得分:0)

试试这个

echo "<pre>";
$json_data = json_decode($json);  //$json = your json string 


print_r($json_data->value);

foreach($json_data->value as $value) {
    echo 'ID: '.$value->id .'<br>';
    echo 'modelId: '.$value->modelId .'<br>';
    echo 'name: '.$value->name .'<br>';
}