0
我正在使用本機AS3 JSON.Parse()將JSON文件加載到Flash CC(Flash11)中。 一切都加載正常,我可以看到數據,我有問題的是,其中一個JSON標題/標籤更改其名稱,所以很難引用。在ActionScript 3中解析JSON(Native JSON)
爲了使它更清楚一點,它的天氣饋送和位置可以改變,我並不總是知道該怎麼做!
{
"schema-version": 1,
"request-time": "2014-12-31 00:17:38",
"feed": "WEATHER",
"data": {
"Manchester": {
"today": {
"obs_time": "12:16 AM",
"temp_c": 2,
"humidity": 93,
"visibility": 10,
"pressure": 1033,
"cloud_cover": 0,
"wind_dir": "S",
"wind_dir_degree": 170,
"precip_mm": 0
}
},
"London": {
"today": {
"obs_time": "12:14 AM",
"temp_c": 3,
"humidity": 87,
"visibility": 10,
"pressure": 1036,
"cloud_cover": 0,
"wind_dir": "SW",
"wind_dir_degree": 230,
"precip_mm": 0
}
}
}
}
它是 「曼徹斯特」 和 「倫敦」 在上面的JSON,可以(在 '數據')改變標記。
我用下面的AS3代碼爲JSON裝載機和解析...
public function getWeather(): void {
json = new URLLoader();
json.addEventListener(Event.COMPLETE, parseJSON);
json.load(new URLRequest(unity_weather));
}
protected function parseJSON(e: Event): void {
trace("JSON Weather data loaded successfully!");
parsedJSON = JSON.parse(json.data);
//Header info
uWeather.Request_time = parsedJSON["request-time"];
uWeather.Location = parsedJSON.data;
//Now
uWeather.Temp_now = parsedJSON.data.Manchester.today.temp_c; //not always 'Manchester'
uWeather.Time_now = parsedJSON.data.Manchester.today.obs_time; //not always 'Manchester'
uWeather.Humidity_now = parsedJSON.data.Manchester.today.humidity; //not always 'Manchester'
uWeather.Visibility_now = parsedJSON.data.Manchester.today.visibility; //not always 'Manchester'
}
問題行是那些與「parsedJSON.data.Manchester.....
」
有沒有辦法要麼讀/找出標籤名稱和知道它的曼徹斯特,倫敦,都柏林,巴黎..等 或者有沒有辦法跳過標籤/名稱的細節 - 像parsedJSON.data[0].today.temp_c
和parsedJSON.data[1].today.temp_c
- 就像你會用數組。
任何幫助非常感謝。
:)
完美!感謝那。 – TDixon