2013-09-13 7 views
0

Я пытаюсь использовать Bing Maps для целей обратного геокодирования в приложении Windows Store. Мой запрос (с использованием WinJS.xhr) проходит просто отлично, и я получаю ответ, подобный этому на их примере страницы:Bing Maps JSON не разбирается с JSON.parse

{ 
    "authenticationResultCode":"ValidCredentials", 
    "brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png", 
    "copyright":"Copyright © 2011 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":[ 
        47.636705672917948, 
        -122.137016420622, 
        47.6444311080593, 
        -122.1217297861384 
       ], 
       "name":"1 Microsoft Way, Redmond, WA 98052", 
       "point":{ 
        "type":"Point", 
        "coordinates":[ 
        47.640568390488625, 
        -122.1293731033802 
        ] 
       }, 
       "address":{ 
        "addressLine":"1 Microsoft Way", 
        "adminDistrict":"WA", 
        "adminDistrict2":"King Co.", 
        "countryRegion":"United States", 
        "formattedAddress":"1 Microsoft Way, Redmond, WA 98052", 
        "locality":"Redmond", 
        "postalCode":"98052" 
       }, 
       "confidence":"Medium", 
       "entityType":"Address", 
       "geocodePoints":[ 
        { 
        "type":"Point", 
        "coordinates":[ 
         47.640568390488625, 
         -122.1293731033802 
        ], 
        "calculationMethod":"Interpolation", 
        "usageTypes":[ 
         "Display", 
         "Route" 
        ] 
        } 
       ], 
       "matchCodes":[ 
        "Good" 
       ] 
      } 
     ] 
     } 
    ], 
    "statusCode":200, 
    "statusDescription":"OK", 
    "traceId":"99b1256e09044490bce82bbbba1dab7a" 
} 

Однако, когда я называю JSON.parse по данным и попытаться отобразить его, все возвращается

[object Object] 

Что я делаю неправильно?

+1

Вы показываете это неправильно. – SLaks

+0

Как вы его показываете? используя предупреждение? или установить его на какой-либо элемент DOM, если это так просто строит имя типа объекта. parse преобразует его в 'object'. – PSL

+0

Как вы хотите, чтобы это отображалось? Пожалуйста, уточните свой вопрос. – PSL

ответ

1

Как и все упомянули, это сделал разобрать, вы просто не признаете результат.

JSON - это сериализация иерархии объекта для строки.

JSON.parse(...) превращает сериализацию JSON (строку) обратно в объект иерархии.

Эта иерархия объектов не может быть показана - ее можно пройти! - вам нужно будет закодировать его во что-то, что может отображаться (например, HTML).

Для этого вы пересекаете иерархию объектов, создавая строку фрагмента HTML. Затем вы можете просто добавить это в HTML DOM с помощью свойства innerHTML существующего элемента (скажем, контейнера DIV).

+0

Хорошо, что я смущен, по-моему, у меня все еще не совсем своя голова, обернутая вокруг JSON. Огромное спасибо за то, что помогли мне через мое высокомерие: P – everydayghost