Не может ссылаться на данные JSON с D3 JS, если они имеют пробелы

Я получил файл JSON со значением, в котором есть пробел. вот так:

"Project 3":6

Если я попробую что-то сделать в D3.js с данными вроде так

var meanProject3 = d3.mean(data, function(d) {return d.project 3 });
console.log(meanProject3);

я получил следующую ошибку:

Uncaught SyntaxError: Unexpected token } 

Если я пробую это с узлами, у которых нет пробела, это работает хорошо. Я не могу редактировать файл JSON. Есть ли другой способ сделать эту работу?

2 ответа

Решение

Нельзя использовать точечную запись, если в имени свойства есть специальные символы, такие как пробел. Пытаться:

return d['Project 3']

Обратите внимание, что имена свойств чувствительны к регистру.

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

var test = {
    "Project 3":"found it"
};

alert(test["Project 3"]);
Другие вопросы по тегам