2013-05-09 3 views
0

У меня вопрос, я hava json с некоторой информацией, и мне нужно получить определенное значение, например Location, я создал функцию, но она не работает нормально, Я получаю сообщение об ошибке о ""Как получить конкретное значение в этом json

SyntaxError: invalid label 
"location"  : "Austin-Bergstrom International Airport, 

эта функция это один

function lee_json() { 
    var temp = ('http://df9e7c46aa4c80573717-1199cc892ebab574a120721e4772cd8b.r11.cf2.rackcdn.com/services/aus.json');  
    temp2 = temp.location; 
    alert(temp2); 
    console.log(temp); 
    console.log(temp.location); 
} 

и Json это один

{ 
    "location"  : "Austin-Bergstrom International Airport, Tx", 
    "city"   : "Austin", 
    "state"   : "Tx", 
    "dewPointC"  : 4.4, 
    "visibilityMiles" : 10, 
    "rainChance"  : "10%" 
} 

В чем может быть проблема?

С уважением,

+1

«Temp» содержит только URL-адрес объекта JSON? – Tchoupi

+1

@MathieuImbert Вот что мне кажется ... – michaelb958

+2

Если мне не хватает чего-то, вам нужно получить содержимое URL-адреса, проанализировать его, после чего вы сможете получить доступ к объекту JSON. И вы не сможете этого сделать, если ваш скрипт не работает в том же домене, в котором размещен файл JSON. – Tchoupi

ответ

0

попробовать это http://msdn.microsoft.com/en-us/library/ie/cc836466(v=vs.94).aspx это может быть такой ответ вы ищете

если я предполагаю, что вы используете JQuery вы можете использовать этот

http://api.jquery.com/jQuery.getJSON/

+0

Привет, delroekid и спасибо за ответ, я проверил первое звено, и я увидел, что могу использовать это var jsontext = '{"firstname": "Jesper", "surname": "Aaberg", "phone": [ "555-0100", "555-0120"]} "; var contact = JSON.parse (jsontext); document.write (contact.surname + "," + contact.firstname); Но как я могу добавить URL моего json? Во втором я попробовал это $ .getJSON ('http://df9e7c46aa4c80573717-1199cc892ebab574a120721e4772cd8b.r11.cf2.rackcdn.com/services/aus.json', function (data) {document.write (data.city);}); но я ничего не видел – Joe

0

Предполагая, что 1) вы запускаете это в том же домене, где находится json, 2) у вас есть jquery, 3) результат - это json-объект, а не массив, это законный пример получения поля:

function getData(aLink) { 
     $.getJSON(aLink, 
     function(data) { 
      console.log(data.location); 
     }); 
} 
getData("http://df9e7c46aa4c80573717-1199cc892ebab574a120721e4772cd8b.r11.cf2.rackcdn.com/services/aus.json"); 
+0

Привет, ile, позвольте мне сказать вам, что .. 1) этот скрипт и jsong находятся не в одном хосте 2) Да 3) Хорошо. Я получил эту информацию, как я начал в начале этого сообщения. Я думаю, что это JSON, { "место": "Международный аэропорт Остин-Бергстром, Tx", "город": "Остин", "состояние": "Tx", "dewPointC": 4,4, «visibilityMiles»: 10, «rainChance»: «10%» } – Joe

+0

Из-за 1) мой ответ не будет очень полезен, но я сохраню его, если на него натолкнется кто-то с одним и тем же сценарием. Fyi - вы можете подтвердить, что это формат json, просто вставив ссылку в адресную строку браузера (по крайней мере, Chrome). Это действительно правильные правильные данные json (object). –

Смежные вопросы