2012-07-03 3 views
2

Мне трудно понять, как читать объект JSON, содержащий «@attributes».JSON @attributes

Мусор:

$.ajax({ 
    type: "GET", 
    dataType: 'json', 
    url: "http://..../script/weather.php?r="+req, 
    success: function(data){ 
     alert(data.weather.forecast_information.city[0].data) 
    } 
}); 

JSON Ответ:

{ 
    "@attributes": { 
     "version": "1" 
    }, 
    "weather": { 
     "@attributes": { 
      "module_id": "0", 
      "tab_id": "0", 
      "mobile_row": "0", 
      "mobile_zipped": "1", 
      "row": "0", 
      "section": "0" 
     }, 
     "forecast_information": { 
      "city": { 
       "@attributes": { 
        "data": "Kreuzlingen, Thurgovia" 
       } 
      }, 
      "postal_code": { 
       "@attributes": { 
        "data": "kreuzlingen" 
       } 
      }, 
      "latitude_e6": { 
       "@attributes": { 
        "data": "" 
       } 
      }, 
      "longitude_e6": { 
       "@attributes": { 
        "data": "" 
       } 
      }, 
      "forecast_date": { 
       "@attributes": { 
        "data": "2012-07-03" 
       } 
      }, 
      "current_date_time": { 
       "@attributes": { 
        "data": "1970-01-01 00:00:00 +0000" 
       } 
      }, 
      "unit_system": { 
       "@attributes": { 
        "data": "US" 
       } 
      } 
     }, 
     "current_conditions": { 
      "condition": { 
       "@attributes": { 
        "data": "Cloudy" 
       } 
      }, 
      "temp_f": { 
       "@attributes": { 
        "data": "70" 
       } 
      }, 
      "temp_c": { 
       "@attributes": { 
        "data": "21" 
       } 
      }, 
      "humidity": { 
       "@attributes": { 
        "data": "Humidity: 68%" 
       } 
      }, 
      "icon": { 
       "@attributes": { 
        "data": "/ig/images/weather/cloudy.gif" 
       } 
      }, 
      "wind_condition": { 
       "@attributes": { 
        "data": "Wind: N at 0 mph" 
       } 
      } 
     }, 
     "forecast_conditions": [ 
      { 
       "day_of_week": { 
        "@attributes": { 
         "data": "Tue" 
        } 
       }, 
       "low": { 
        "@attributes": { 
         "data": "55" 
        } 
       }, 
       "high": { 
        "@attributes": { 
         "data": "72" 
        } 
       }, 
       "icon": { 
        "@attributes": { 
         "data": "/ig/images/weather/thunderstorm.gif" 
        } 
       }, 
       "condition": { 
        "@attributes": { 
         "data": "Thunderstorm" 
        } 
       } 
      }, 
      { 
       "day_of_week": { 
        "@attributes": { 
         "data": "Wed" 
        } 
       }, 
       "low": { 
        "@attributes": { 
         "data": "66" 
        } 
       }, 
       "high": { 
        "@attributes": { 
         "data": "79" 
        } 
       }, 
       "icon": { 
        "@attributes": { 
         "data": "/ig/images/weather/chance_of_storm.gif" 
        } 
       }, 
       "condition": { 
        "@attributes": { 
         "data": "Chance of Storm" 
        } 
       } 
      }, 
      { 
       "day_of_week": { 
        "@attributes": { 
         "data": "Thu" 
        } 
       }, 
       "low": { 
        "@attributes": { 
         "data": "61" 
        } 
       }, 
       "high": { 
        "@attributes": { 
         "data": "77" 
        } 
       }, 
       "icon": { 
        "@attributes": { 
         "data": "/ig/images/weather/chance_of_storm.gif" 
        } 
       }, 
       "condition": { 
        "@attributes": { 
         "data": "Chance of Storm" 
        } 
       } 
      }, 
      { 
       "day_of_week": { 
        "@attributes": { 
         "data": "Fri" 
        } 
       }, 
       "low": { 
        "@attributes": { 
         "data": "63" 
        } 
       }, 
       "high": { 
        "@attributes": { 
         "data": "79" 
        } 
       }, 
       "icon": { 
        "@attributes": { 
         "data": "/ig/images/weather/chance_of_rain.gif" 
        } 
       }, 
       "condition": { 
        "@attributes": { 
         "data": "Chance of Rain" 
        } 
       } 
      } 
     ] 
    } 
} 

ОШИБКА (хром);

Uncaught TypeError: Не удается прочитать свойство 'данные' неопределенной

Вопрос в том, как получить "Кройцлингене, Thurgovia" в боевой готовности?

+0

'@ attributes' в приведенном выше JSON не какой-либо специальный ключ. его простая строка для javascript с '@' в начале. поэтому прямо вперед использование @engineer объяснило это простым ответом с объяснением себя. – swapnilsarwe

ответ

9

Получить как это:

alert(data.weather.forecast_information.city["@attributes"].data) 
+1

foo ['bar'] === foo.bar – insign

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