簡體   English   中英

如何從此示例JSON創建POJO?

[英]How can I create a POJO from this sample JSON?

我正在嘗試從https://developers.google.com/qpx-express/v1/trips/search的API為以下JSON創建POJO。

當我將其復制並粘貼到http://www.jsonschema2pojo.org/時,在第5行出現一個錯誤: "requestId": string,說“存在問題:無法識別的令牌'字符串':正在等待('true',' false”或“ null”)(第5行,第24列)”

如果我將string更改為實際的示例字符串,則可以正常工作。 這個json到pojo轉換器不能處理這種格式的JSON嗎? 不得不將所有數據類型改為樣本似乎有點乏味。

{
  "kind": "qpxExpress#tripsSearch",
  "trips": {
    "kind": "qpxexpress#tripOptions",
    "requestId": string,
    "data": {
      "kind": "qpxexpress#data",
      "airport": [
        {
          "kind": "qpxexpress#airportData",
          "code": string,
          "city": string,
          "name": string
        }
      ],
      "city": [
        {
          "kind": "qpxexpress#cityData",
          "code": string,
          "country": string,
          "name": string
        }
      ],
      "aircraft": [
        {
          "kind": "qpxexpress#aircraftData",
          "code": string,
          "name": string
        }
      ],
      "tax": [
        {
          "kind": "qpxexpress#taxData",
          "id": string,
          "name": string
        }
      ],
      "carrier": [
        {
          "kind": "qpxexpress#carrierData",
          "code": string,
          "name": string
        }
      ]
    },
    "tripOption": [
      {
        "kind": "qpxexpress#tripOption",
        "saleTotal": string,
        "id": string,
        "slice": [
          {
            "kind": "qpxexpress#sliceInfo",
            "duration": integer,
            "segment": [
              {
                "kind": "qpxexpress#segmentInfo",
                "duration": integer,
                "flight": {
                  "carrier": string,
                  "number": string
                },
                "id": string,
                "cabin": string,
                "bookingCode": string,
                "bookingCodeCount": integer,
                "marriedSegmentGroup": string,
                "subjectToGovernmentApproval": boolean,
                "leg": [
                  {
                    "kind": "qpxexpress#legInfo",
                    "id": string,
                    "aircraft": string,
                    "arrivalTime": string,
                    "departureTime": string,
                    "origin": string,
                    "destination": string,
                    "originTerminal": string,
                    "destinationTerminal": string,
                    "duration": integer,
                    "operatingDisclosure": string,
                    "onTimePerformance": integer,
                    "mileage": integer,
                    "meal": string,
                    "secure": boolean,
                    "connectionDuration": integer,
                    "changePlane": boolean
                  }
                ],
                "connectionDuration": integer
              }
            ]
          }
        ],
        "pricing": [
          {
            "kind": "qpxexpress#pricingInfo",
            "fare": [
              {
                "kind": "qpxexpress#fareInfo",
                "id": string,
                "carrier": string,
                "origin": string,
                "destination": string,
                "basisCode": string,
                "private": boolean
              }
            ],
            "segmentPricing": [
              {
                "kind": "qpxexpress#segmentPricing",
                "fareId": string,
                "segmentId": string,
                "freeBaggageOption": [
                  {
                    "kind": "qpxexpress#freeBaggageAllowance",
                    "bagDescriptor": [
                      {
                        "kind": "qpxexpress#bagDescriptor",
                        "commercialName": string,
                        "count": integer,
                        "description": [
                          string
                        ],
                        "subcode": string
                      }
                    ],
                    "kilos": integer,
                    "kilosPerPiece": integer,
                    "pieces": integer,
                    "pounds": integer
                  }
                ]
              }
            ],
            "baseFareTotal": string,
            "saleFareTotal": string,
            "saleTaxTotal": string,
            "saleTotal": string,
            "passengers": {
              "kind": "qpxexpress#passengerCounts",
              "adultCount": integer,
              "childCount": integer,
              "infantInLapCount": integer,
              "infantInSeatCount": integer,
              "seniorCount": integer
            },
            "tax": [
              {
                "kind": "qpxexpress#taxInfo",
                "id": string,
                "chargeType": string,
                "code": string,
                "country": string,
                "salePrice": string
              }
            ],
            "fareCalculation": string,
            "latestTicketingTime": string,
            "ptc": string,
            "refundable": boolean
          }
        ]
      }
    ]
  }
}

好的,頁面上的示例JSON代碼使用引號中的數據類型,因此使用"string"代替string 您可以這樣做:(警告!如果您想要字符串以外的其他類型,以下示例是胡說八道!)

{
  "kind": "qpxExpress#tripsSearch",
  "trips": {
    "kind": "qpxexpress#tripOptions",
    "requestId": "string",
    "data": {
      "kind": "qpxexpress#data",
      "airport": [
        {
          "kind": "qpxexpress#airportData",
          "code": "string",
          "city": "string",
          "name": "string"
        }
      ],
      "city": [
        {
          "kind": "qpxexpress#cityData",
          "code": "string",
          "country": "string",
          "name": "string"
        }
      ],
      "aircraft": [
        {
          "kind": "qpxexpress#aircraftData",
          "code": "string",
          "name": "string"
        }
      ],
      "tax": [
        {
          "kind": "qpxexpress#taxData",
          "id": "string",
          "name": "string"
        }
      ],
      "carrier": [
        {
          "kind": "qpxexpress#carrierData",
          "code": "string",
          "name": "string"
        }
      ]
    },
    "tripOption": [
      {
        "kind": "qpxexpress#tripOption",
        "saleTotal": "string",
        "id": "string",
        "slice": [
          {
            "kind": "qpxexpress#sliceInfo",
            "duration": "integer",
            "segment": [
              {
                "kind": "qpxexpress#segmentInfo",
                "duration": "integer",
                "flight": {
                  "carrier": "string",
                  "number": "string"
                },
                "id": "string",
                "cabin": "string",
                "bookingCode": "string",
                "bookingCodeCount": "integer",
                "marriedSegmentGroup": "string",
                "subjectToGovernmentApproval": "boolean",
                "leg": [
                  {
                    "kind": "qpxexpress#legInfo",
                    "id": "string",
                    "aircraft": "string",
                    "arrivalTime": "string",
                    "departureTime": "string",
                    "origin": "string",
                    "destination": "string",
                    "originTerminal": "string",
                    "destinationTerminal": "string",
                    "duration": "integer",
                    "operatingDisclosure": "string",
                    "onTimePerformance": "integer",
                    "mileage": "integer",
                    "meal": "string",
                    "secure": "boolean",
                    "connectionDuration": "integer",
                    "changePlane": "boolean"
                  }
                ],
                "connectionDuration": "integer"
              }
            ]
          }
        ],
        "pricing": [
          {
            "kind": "qpxexpress#pricingInfo",
            "fare": [
              {
                "kind": "qpxexpress#fareInfo",
                "id": "string",
                "carrier": "string",
                "origin": "string",
                "destination": "string",
                "basisCode": "string",
                "private": "boolean"
              }
            ],
            "segmentPricing": [
              {
                "kind": "qpxexpress#segmentPricing",
                "fareId": "string",
                "segmentId": "string",
                "freeBaggageOption": [
                  {
                    "kind": "qpxexpress#freeBaggageAllowance",
                    "bagDescriptor": [
                      {
                        "kind": "qpxexpress#bagDescriptor",
                        "commercialName": "string",
                        "count": "integer",
                        "description": [
                          "string"
                        ],
                        "subcode": "string"
                      }
                    ],
                    "kilos": "integer",
                    "kilosPerPiece": "integer",
                    "pieces": "integer",
                    "pounds": "integer"
                  }
                ]
              }
            ],
            "baseFareTotal": "string",
            "saleFareTotal": "string",
            "saleTaxTotal": "string",
            "saleTotal": "string",
            "passengers": {
              "kind": "qpxexpress#passengerCounts",
              "adultCount": "integer",
              "childCount": "integer",
              "infantInLapCount": "integer",
              "infantInSeatCount": "integer",
              "seniorCount": "integer"
            },
            "tax": [
              {
                "kind": "qpxexpress#taxInfo",
                "id": "string",
                "chargeType": "string",
                "code": "string",
                "country": "string",
                "salePrice": "string"
              }
            ],
            "fareCalculation": "string",
            "latestTicketingTime": "string",
            "ptc": "string",
            "refundable": "boolean"
          }
        ]
      }
    ]
  }
}

有效的json要求字符串值用引號引起來。 因此,引用鍵而不引用值like->“ id”:string並沒有多大意義。 仔細閱讀“在請求正文中,提供具有以下結構的數據 ”您未提供任何數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM