简体   繁体   中英

how to access a address element from below nested json object IN PHP

I want access to addressLine , adminDistrict from address element which is stored in json format IN PHP

{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
          "bbox": [
            40.75594078242932,
            -74.0022632570927,
            40.76366621757067,
            -73.98866508290732
          ],
          "name": "471 W 42nd St, New York, NY 10036",
          "point": {
            "type": "Point",
            "coordinates": [
              40.7598035,
              -73.99546417
            ]
          },
          "address": {
            "addressLine": "471 W 42nd St",
            "adminDistrict": "NY",
            "adminDistrict2": "New York Co.",
            "countryRegion": "United States",
            "formattedAddress": "471 W 42nd St, New York, NY 10036",
            "intersection": {
              "baseStreet": "W 42nd St",
              "secondaryStreet1": "10th Ave",
              "intersectionType": "Near",
              "displayName": "W 42nd St and 10th Ave"
            },
            "locality": "New York",
            "postalCode": "10036"
          },
          "confidence": "High",
          "entityType": "Address",
          "geocodePoints": [
            {
              "type": "Point",
              "coordinates": [
                40.7598035,
                -73.99546417
              ],
              "calculationMethod": "Rooftop",
              "usageTypes": [
                "Display"
              ]
            }
          ],
          "matchCodes": [
            "Good"
          ]
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0"
}

{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
          "bbox": [
            40.75594078242932,
            -74.0022632570927,
            40.76366621757067,
            -73.98866508290732
          ],
          "name": "471 W 42nd St, New York, NY 10036",
          "point": {
            "type": "Point",
            "coordinates": [
              40.7598035,
              -73.99546417
            ]
          },
          "address": {
            "addressLine": "471 W 42nd St",
            "adminDistrict": "NY",
            "adminDistrict2": "New York Co.",
            "countryRegion": "United States",
            "formattedAddress": "471 W 42nd St, New York, NY 10036",
            "intersection": {
              "baseStreet": "W 42nd St",
              "secondaryStreet1": "10th Ave",
              "intersectionType": "Near",
              "displayName": "W 42nd St and 10th Ave"
            },
            "locality": "New York",
            "postalCode": "10036"
          },
          "confidence": "High",
          "entityType": "Address",
          "geocodePoints": [
            {
              "type": "Point",
              "coordinates": [
                40.7598035,
                -73.99546417
              ],
              "calculationMethod": "Rooftop",
              "usageTypes": [
                "Display"
              ]
            }
          ],
          "matchCodes": [
            "Good"
          ]
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0"
}

you need to access it by assigning it to the variable eg say

let a = { "authenticationResultCode": "ValidCredentials", "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png", "copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.", "resourceSets": [ { "estimatedTotal": 1, "resources": [ { "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1", "bbox": [ 40.75594078242932, -74.0022632570927, 40.76366621757067, -73.98866508290732 ], "name": "471 W 42nd St, New York, NY 10036", "point": { "type": "Point", "coordinates": [ 40.7598035, -73.99546417 ] }, "address": { "addressLine": "471 W 42nd St", "adminDistrict": "NY", "adminDistrict2": "New York Co.", "countryRegion": "United States", "formattedAddress": "471 W 42nd St, New York, NY 10036", "intersection": { "baseStreet": "W 42nd St", "secondaryStreet1": "10th Ave", "intersectionType": "Near", "displayName": "W 42nd St and 10th Ave" }, "locality": "New York", "postalCode": "10036" }, "confidence": "High", "entityType": "Address", "geocodePoints": [ { "type": "Point", "coordinates": [ 40.7598035, -73.99546417 ], "calculationMethod": "Rooftop", "usageTypes": [ "Display" ] } ], "matchCodes": [ "Good" ] } ] } ], "statusCode": 200, "statusDescription": "OK", "traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0" }

then access it like this

console.log(a.resourceSets[0].resources[0].address)
<?php
/*
if Array of JSON Object is returned then
Use following
*/
$json = '[{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
          "bbox": [
            40.75594078242932,
            -74.0022632570927,
            40.76366621757067,
            -73.98866508290732
          ],
          "name": "471 W 42nd St, New York, NY 10036",
          "point": {
            "type": "Point",
            "coordinates": [
              40.7598035,
              -73.99546417
            ]
          },
          "address": {
            "addressLine": "471 W 42nd St",
            "adminDistrict": "NY",
            "adminDistrict2": "New York Co.",
            "countryRegion": "United States",
            "formattedAddress": "471 W 42nd St, New York, NY 10036",
            "intersection": {
              "baseStreet": "W 42nd St",
              "secondaryStreet1": "10th Ave",
              "intersectionType": "Near",
              "displayName": "W 42nd St and 10th Ave"
            },
            "locality": "New York",
            "postalCode": "10036"
          },
          "confidence": "High",
          "entityType": "Address",
          "geocodePoints": [
            {
              "type": "Point",
              "coordinates": [
                40.7598035,
                -73.99546417
              ],
              "calculationMethod": "Rooftop",
              "usageTypes": [
                "Display"
              ]
            }
          ],
          "matchCodes": [
            "Good"
          ]
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0"
},
{
  "authenticationResultCode": "ValidCredentials",
  "brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png",
  "copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
  "resourceSets": [
    {
      "estimatedTotal": 1,
      "resources": [
        {
          "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
          "bbox": [
            40.75594078242932,
            -74.0022632570927,
            40.76366621757067,
            -73.98866508290732
          ],
          "name": "471 W 42nd St, New York, NY 10036",
          "point": {
            "type": "Point",
            "coordinates": [
              40.7598035,
              -73.99546417
            ]
          },
          "address": {
            "addressLine": "471 W 42nd St",
            "adminDistrict": "NY",
            "adminDistrict2": "New York Co.",
            "countryRegion": "United States",
            "formattedAddress": "471 W 42nd St, New York, NY 10036",
            "intersection": {
              "baseStreet": "W 42nd St",
              "secondaryStreet1": "10th Ave",
              "intersectionType": "Near",
              "displayName": "W 42nd St and 10th Ave"
            },
            "locality": "New York",
            "postalCode": "10036"
          },
          "confidence": "High",
          "entityType": "Address",
          "geocodePoints": [
            {
              "type": "Point",
              "coordinates": [
                40.7598035,
                -73.99546417
              ],
              "calculationMethod": "Rooftop",
              "usageTypes": [
                "Display"
              ]
            }
          ],
          "matchCodes": [
            "Good"
          ]
        }
      ]
    }
  ],
  "statusCode": 200,
  "statusDescription": "OK",
  "traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0"
}]';

$array = json_decode($json);
foreach($array as $sub_array) {
    echo $sub_array->resourceSets[0]->resources[0]->address->addressLine . "<br/>";
    echo $sub_array->resourceSets[0]->resources[0]->address->adminDistrict . "<br/>";
}

/*
And if single JSON Object is returned then
Use following
*/
$json = '{
"authenticationResultCode": "ValidCredentials",
"brandLogoUri": "http://dev.virtualearth.net/Branding/logo_powered_by.png",
"copyright": "Copyright © 2019 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
"resourceSets": [
{
  "estimatedTotal": 1,
  "resources": [
    {
      "__type": "Location:http://schemas.microsoft.com/search/local/ws/rest/v1",
      "bbox": [
        40.75594078242932,
        -74.0022632570927,
        40.76366621757067,
        -73.98866508290732
      ],
      "name": "471 W 42nd St, New York, NY 10036",
      "point": {
        "type": "Point",
        "coordinates": [
          40.7598035,
          -73.99546417
        ]
      },
      "address": {
        "addressLine": "471 W 42nd St",
        "adminDistrict": "NY",
        "adminDistrict2": "New York Co.",
        "countryRegion": "United States",
        "formattedAddress": "471 W 42nd St, New York, NY 10036",
        "intersection": {
          "baseStreet": "W 42nd St",
          "secondaryStreet1": "10th Ave",
          "intersectionType": "Near",
          "displayName": "W 42nd St and 10th Ave"
        },
        "locality": "New York",
        "postalCode": "10036"
      },
      "confidence": "High",
      "entityType": "Address",
      "geocodePoints": [
        {
          "type": "Point",
          "coordinates": [
            40.7598035,
            -73.99546417
          ],
          "calculationMethod": "Rooftop",
          "usageTypes": [
            "Display"
          ]
        }
      ],
      "matchCodes": [
        "Good"
      ]
    }
  ]
}
],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "d551494203554f058cd3e2e72582f7b1|HK20271557|7.7.0.0|HK01EAP000001D0"
}';
$JsonData = json_decode($json); 
echo $JsonData->resourceSets[0]->resources[0]->address->addressLine . "<br/>";
echo $JsonData->resourceSets[0]->resources[0]->address->adminDistrict . "<br/>";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM