Как я получаю доступ к значению '@attr' в JSON с jQuery

Ядерный / физика элементарных частиц здесь.

  • Основная работа программирования раньше делалась главным образом в Фортран использование CERNLIB (ЛАПА, MINUIT...) и GEANT3, недавно это было главным образом сделано в C++ с КОРЕНЬ и Geant4. Существует много других библиотек и инструментов в специализированном использовании, и , LabVIEW видит некоторое использование тут и там.
  • Сбор данных в моем конце этого бизнеса часто означал довольно низкоуровневую работу. Часто в C, иногда даже в блоке, но это вымирает, поскольку аппаратные средства становятся более способными. С другой стороны, многие платы теперь создаются с FPGA с, которые должны пропустить вертение...
  • Один-offs, графические интерфейсы, и т.д. используйте почти что-либо (, Tcl/Tk раньше был большим, и я видел больше Perl/Tk и Python/Tk в последнее время) включая многие пакеты, которые существуют главным образом в сообществе физики элементарных частиц.
  • у Многих людей, пишущих код, есть минимальное формальное обучение, и процесс передается очень неравномерно устной традицией, но большинство лидеров группы программного обеспечения относится к процессу серьезно и читает так же по мере необходимости для составления их дефицитов в этой области.
  • Управление версиями для основных инструментов повсеместно. Но многие отдельные программисты пропускают его для своих меньших задач. Формальные инструменты отслеживания ошибок менее распространены, как ночные сборки, поблочное тестирование и регрессионные тесты.

Для улучшения вещей:

  1. Входят в хорошую сторону локальных лидеров программного обеспечения
  2. Реализация процесс, который Вы хотите использовать в своей собственной области, и поощрять тех Вы впускаете для использования его также.
  3. Ожидают. Физики являются эмпирическими людьми. Если это поможет, они будут (в конечном счете!) уведомление.

Еще одно предложение для улучшения вещей.

  1. Вставленное небольшое время к помощи любому Вы работаете непосредственно с. Рассмотрите их код. Скажите им об алгоритмическом поколении/DRY сложности/кода или безотносительно основной вещи, которую они никогда не изучали, потому что некоторый преподаватель бросил книгу Фортрана в них однажды и сказал, "заставляют его работать". Ознакомьте их по проблемам процесса. Они - умные люди, и они будут учиться, даете ли Вы им шанс.

6
задан majman 10 November 2009 в 17:34
поделиться

2 ответа

Use the bracket notation member operator:

var value = obj[0]['@attr'];

Then you can access the official property by:

value.official;

Or

obj[0]['@attr']['official'];

Or

obj[0]['@attr'].official;

Edit: As Jonathan pointed out, you have issues with the JSON structure you post, I would recommend you to validate your JSON with a tool like JSONLint.

But I think that you mean something like this:

var obj = {
  "image": [{
    "url": "http:\/\/www.last.fm\/music\/Undefined\/+images\/3040021",
    "format": "jpg",
    "sizes": [{
      "#text": "http:...jpg",
      "name": "original",
      "width": "397",
      "height": "397" 
    },
    {
      "#text": "http:...jpg",
      "name": "large",
      "width": "126",
      "height": "126" 
    } 
    ],
    "@attr": {
      "official": "yes" 
    } 
  }]
};

And with that JSON structure you can iterate it by:

$.each(obj.image, function () {
  alert(this['@attr'].official);
});
9
ответ дан 9 December 2019 в 22:36
поделиться

У вас довольно много проблем с форматированием в вашем фрагменте. Если они такие же в вашем фактическом JSON, у вас будут конфликты синтаксического анализа и объектной структуры с тем, что вы, вероятно, ожидаете.

{ /* no matching end */
    "images": [ /* no matching end */
        {
            "url":"http:\/\/www.last.fm\/music\/Undefined\/+images\/3040021",
            "format":"jpg",
            "sizes": { /* should this be an array instead? */
                "size": {
                  "#text":"http:...jpg",
                  "name":"original",
                  "width":"397",
                  "height":"397"
                },
                { /* missing key */
                  "#text":"http:...jpg",
                  "name":"large",
                  "width":"126",
                  "height":"126"
                }, /* trailing comma can cause parsing issues */
              ] /* no matching start */
            },
            "@attr": { "official":"yes" }
        }
2
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: