Как использовать файл JSON в JavaScript - PullRequest
21 голосов
/ 28 января 2011

Во-первых, я новичок в сфере Javascript.У меня есть файл JSON, например:

{"markers": [
  {
   "abbreviation": "SPA",
   "latitude":-13.32,
   "longitude":-89.99,
   "markerImage": "flags/us.png",
   "information": "South Pole",
  },

.... lots more of these in between ....

{
   "abbreviation": "ALE",
   "latitude":-62.5,
   "longitude":82.5,
   "markerImage": "flags/us.png",
   "information": "Alert",
  },
] }

Я провел много исследований относительно того, как я могу вернуть этот файл в свой сценарий, только чтобы найти способы кодирования строк в файлы JSON.,В основном, я хочу прочитать этот файл через javascript, что-то вроде этого ... (я знаю, что это не то, как вы кодируете)

object data = filename.json  
document.write(data.markers.abbreviation[1])

Может кто-нибудь, пожалуйста, дайте мне четкую инструкцию о том, как поступитьэтот.Помните, я новичок и нуждаюсь в специфике, так как я не нахожусь на одном уровне с жаргоном javascript.

1 Ответ

47 голосов
/ 28 января 2011

Сначала вам понадобится дескриптор файла. Вам нужно как-то получить его либо через ajax, либо через поведение на стороне сервера.

Вы должны указать использовать, где находится файл. Как вы планируете его получить и какой серверный код вы используете.

Когда у вас есть, вы можете использовать JSON.parse(string) на нем. Вы можете включить файл json2.js , если вам требуется поддержка старых браузеров.

Если вы используете jQuery, вы также можете попробовать jQuery.parseJSON для анализа.

Опция для удаленного получения JSON будет использовать jQuery.getJSON

Для загрузки вы можете использовать JSONP или какую-то библиотеку с функциональностью ajax, например jQuery.ajax или Ajax.Request. Это может быть сделано в сыром javascript, но это просто уродливо и заново изобретать колесо.

$.getJSON("document.json", function(data) {
    console.log(data);
    // data is a JavaScript object now. Handle it as such

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...