Используя javascript получить данные JSON (из Tumblr) - PullRequest
1 голос
/ 18 февраля 2011

Я пытаюсь читать сообщения Tumblr через JSON API.

Используя их API, данные передаются обратно так:

var tumblr_api_read= {
 "posts":[
   "id":"1234",
   "regular-title":"This is the title of the post",
   "regular-body":"This is the body of the post"
 ]
}

У меня проблемы с возвратом "обычного"-title "и" normal-body ".

Мой JS-код выглядит следующим образом:

var tumblr= tumblr_api_read['posts'];
for (eachPost in tumblr)
{
 var id=posts[eachPost].id; //Works fine
 var regularTitle=posts[eachPost].regular-title; //Returns NaN
}

Я предполагаю, что это потому, что posts [eachPost] .regular-title имеет черту вон не может найти документацию о том, как заставить его работать в этой ситуации!

Спасибо.

Ответы [ 2 ]

5 голосов
/ 18 февраля 2011

имена переменных javascript не могут содержать специальные символы, такие как - в вашем примере. Если у вас есть свойство со специальными символами в его имени, единственный способ получить к нему доступ - это метод [], который вы использовали для доступа к объекту posts выше, который дает вам возможность передать имя свойства в виде строки.

var regularTitle = posts[eachPost]['regular-title'];
1 голос
/ 18 мая 2013

Чтобы уточнить, вы на самом деле ссылаетесь на regular-title в точечной нотации, как если бы это был объект. Но на самом деле это массив, и поэтому он не будет работать, даже если значение свойства не имеет тире, как упомянуто выше.

...