Как и в названии, я использую Factual API для возврата некоторых мест вблизи геолокации, и у меня возникают проблемы с анализом данных с помощью jQuery. Пример полного JSon строки я вернулся похож на это:Parsing JSON String From Factual API
"{
\"version\": 3,
\"status\": \"ok\",
\"response\": {
\"data\": [
{
\"region\": \"ON\",
\"tel\": \"(519)452-4430\",
\"category_labels\": [
[
\"CommunityandGovernment\",
\"Education\",
\"CollegesandUniversities\"
]
],
\"name\": \"FanshaweCollege\",
\"longitude\": -81.200929,
\"fax\": \"(519)452-4420\",
\"website\": \"http: //www.fanshawec.ca\",
\"hours\": {
\"monday\": [
[
\"6: 00\",
\"17: 00\"
]
],
\"tuesday\": [
[
\"6: 00\",
\"17: 00\"
]
],
\"wednesday\": [
[
\"6: 00\",
\"17: 00\"
]
],
\"friday\": [
[
\"6: 00\",
\"13: 00\"
]
]
},
\"neighborhood\": [
\"HuronHeights\"
],
\"postcode\": \"N5Y5R6\",
\"category_ids\": [
29
],
\"country\": \"ca\",
\"address\": \"1001FanshaweCollegeBlvd\",
\"locality\": \"London\",
\"hours_display\": \"Mon-Wed6: 00-17: 00;Fri6: 00-13: 00\",
\"latitude\": 43.013919,
\"factual_id\": \"fba3ee56-9947-424d-bba4-f6c955491fff\",
\"$distance\": 219.42628
}
],
\"included_rows\": 1
}
}"
Это, как я пытаюсь взаимодействовать с JSON:
success: function (data) {
var result = JSON.parse(data.d);
$.each(result, function (i, item) {
console.log(result.latitude);
});
}
Я получаю JSON от AJAX звоните и попробовали data.d и создавали объект с использованием JSON.parse и обращались к нему таким образом, но у меня все еще возникают проблемы, связанные с фактическими данными. Я продолжаю получать неопределенные ошибки.
Как я могу разбирать строку JSON, вот так?
Вы разбираете его с помощью 'JSON.parse()' или '$ .parseJSON()'. В чем проблема? – Barmar
Что вы понимаете, пытаясь 'data.d'? Свойством 'data' является массив, поэтому вам нужно его индексировать. – Barmar
Если вы укажете 'dataType: 'json'' в своем вызове AJAX, jQuery автоматически проанализирует его для вас. Но я подозреваю, что ваша проблема заключается не в разборе JSON, а в правильном доступе к данным в результирующем объекте. Вам нужно объяснить, к каким частям вы пытаетесь получить доступ, и показать свой код. – Barmar