为嵌套的 JSON 对象创建 GWT 叠加

Create GWT overlay for a nested JSON object

本文关键字:创建 GWT 叠加 对象 JSON 嵌套      更新时间:2023-09-26

我刚刚发现了这个很棒的网站,我允许自己用以下问题打扰你:

如何从内部(嵌套)JSON对象访问字段,此处名为"flightLegs",来自JSON对象"flights"?

为了通过GWT应用程序从外部API(此处为flightstats)访问JSON对象,我使用以下方法:

这是 JSON 对象(我通过 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 对象"flights"的所有字段创建叠加层:

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

这也非常有效。

但我还需要访问航班号,即"flightLegs"JSON 对象中的"航班号"字段。我尝试过:

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

但这不起作用,它只会给我留下一个空或空对象(根据错误消息)。所以我对如何访问内部 JSON 对象一无所知。

任何帮助将不胜感激!谢谢!

flightLegs是一个

包含对象的数组,所以它应该是this.flightLegs[0].flightNumber