2013-02-04 76 views
0

我剛剛發現這個偉大的網站,我允許自己與下面的問題打擾你:創建GWT覆蓋嵌套的JSON對象

你怎麼會從內部(嵌套)JSON對象訪問的字段,這裏命名JSON對象「航班」中的「flightLegs」?

爲了通過GWT應用程序從外部API(這裏Flightstats會)訪問JSON對象,我使用下面的方法:

這裏是JSON對象(I正確地收到此由API和我可以檢查它在主頁上太):

"flights": [ 
{ 
"departureAirportFsCode": "ZRH", 
"arrivalAirportFsCode": "NRT", 
"departureDateFrom": "2013-01-28", 
"departureDateTo": "2013-03-30", 
"departureDaysOfWeek": [ 
1, 
2, 
3, 
4, 
5, 
6, 
7 
], 
"arrivalDateAdjustment": 1, 
"departureTime": "13:00:00.000", 
"arrivalTime": "08:55:00.000", 
"distanceMiles": 5969, 
"flightDurationMinutes": 715, 
"layoverDurationMinutes": 0, 
"flightType": "NON_STOP", 
"serviceType": "PASSENGER_ONLY", 
"online": true, 
"flightLegs": [ 
{ 
"departureAirportFsCode": "MUC", 
"arrivalAirportFsCode": "NRT", 
"departureTime": "13:00:00.000", 
"arrivalTime": "08:55:00.000", 
"departureDateAdjustment": 0, 
"arrivalDateAdjustment": 1, 
"arrivalTerminal": "1", 
"carrierFsCode": "LX", 
"flightNumber": "160", 
"codeshare": false, 
"equipmentCodes": [ 
    "343" 
], 
"distanceMiles": 5969, 
"flightDurationMinutes": 715, 
"layoverDurationMinutes": 0 
} 
] 

比如我可以創建外JSON對象的「飛行」的所有字段疊加用下面的代碼:

public final native String getDepartureFromAirport() /*-{ 
    return this.departureAirportFsCode; 
}-*/; 

這也很完美。

但我還需要從「flightLegs」JSON對象訪問Flightnumber字段「flightnumber」。我嘗試過:

public final native String getDepartureFromAirport() /*-{ 
    return this.flightLegs.flightNumber; 
}-*/; 

但這不起作用,它只是留給我一個空或空對象(根據錯誤消息)。 所以我很笨,我如何訪問內部的JSON對象。

任何幫助將誠實地被讚賞! 非常感謝!

回答

1

flightLegs是一個包含對象的數組,因此它將是this.flightLegs[0].flightNumber

+0

太棒了!這工作得很好!萬分感謝! –

+0

標記爲答案...? –