Дополнительно
Как получить значение ключа в объекте JSON?
Как получить ключ valu в объекте JSON и длину объекта с помощью JavaScript.
Например:
[
{
"amount": " 12185",
"job": "GAPA",
"month": "JANUARY",
"year": "2010"
},
{
"amount": "147421",
"job": "GAPA",
"month": "MAY",
"year": "2010"
},
{
"amount": "2347",
"job": "GAPA",
"month": "AUGUST",
"year": "2010"
}
]
Здесь длина массива равна 3. Для получения значения подходит ([0].amount)
, в индексе [0]
есть 3 пары имя-значение.
Итак, мне нужно получить имя (например, amount или job... всего четыре имени), а также подсчитать, сколько всего имен?
20
6
В Javascript Json в основном представлен в виде ассоциативного массива. Просто нужно выполнить цикл по ним, чтобы прочитать либо ключ, либо значение
Во-первых, вы не имеете дело с "объектом JSON", вы имеете дело с объектом JavaScript. JSON - это текстовая нотация, но если код вашего примера работает (
[0].amount
), то вы уже десериализовали эту нотацию в объектный граф JavaScript. (То, что вы процитировали, вообще не является корректным JSON; в JSON ключи должны заключаться в двойные кавычки. То, что вы процитировали, - это объектный литерал JavaScript, который является надмножеством JSON).Нет, она равна 3.
Если вы используете среду с полной поддержкой ECMAScript5, вы можете использовать
Object.keys
(spec | MDN), чтобы получить перечислимые ключи для одного из объектов в виде массива. В противном случае (или если вы хотите не получить массив ключей, а просто перебрать их в цикле) можно использоватьfor..in
:Полный рабочий пример:
Поскольку вы имеете дело с необработанными объектами, то приведенный выше цикл
for..in
вполне подходит (если только кто-то не согрешил, наложив на себя руки вObject.prototype
, но предположим, что это не так). Если же объект, ключи которого вам нужны, может наследовать перечисляемые свойства от своего прототипа, то можно ограничить цикл только ключами объекта (а не ключами его прототипа), добавив в него вызовhasOwnProperty
:Вам может понадобиться:
Чтобы получить что-то вроде:
Попробуйте это
Когда вы разберете JSON-представление, оно превратится в JavaScript массив объектов.
Благодаря этому можно использовать свойство
.length
массива JavaScript для определения количества элементов и использовать циклfor
для его перечисления.Вы можете просто пройти через объект и вернуться, если найдено совпадение здесь с кодом