3

stackexchange api を使用しようとしています。 このリンクでは、いくつかのユーザー情報を取得しようとしています。

実行すると、JSON 応答が返されます。

{
  "items": [
    {
      "badge_counts": {
        "bronze": 5630,
        "silver": 4212,
        "gold": 267
      },
      "account_id": 11683,
      "is_employee": false,
      "last_modified_date": 1398827800,
      "last_access_date": 1398799412,
      "reputation_change_year": 34829,
      "reputation_change_quarter": 7965,
      "reputation_change_month": 7965,
      "reputation_change_week": 930,
      "reputation_change_day": 60,
      "reputation": 669736,
      "creation_date": 1222430705,
      "user_type": "registered",
      "user_id": 22656,
      "age": 37,
      "accept_rate": 88,
      "location": "Reading, United Kingdom",
      "website_url": "http://csharpindepth.com",
      "link": "http://stackoverflow.com/users/22656/jon-skeet",
      "display_name": "Jon Skeet",
      "profile_image": "https://www.gravatar.com/avatar/6d8ebb117e8d83d74ea95fbdd0f87e13?s=128&d=identicon&r=PG"
    },
    {
      "badge_counts": {
        "bronze": 1646,
        "silver": 1456,
        "gold": 64
      },
      "account_id": 14332,
      "is_employee": false,
      "last_modified_date": 1397859689,
      "last_access_date": 1398787554,
      "reputation_change_year": 26427,
      "reputation_change_quarter": 5693,
      "reputation_change_month": 5693,
      "reputation_change_week": 640,
      "reputation_change_day": 20,
      "reputation": 513076,
      "creation_date": 1224432467,
      "user_type": "registered",
      "user_id": 29407,
      "age": 32,
      "accept_rate": 91,
      "location": "Sofia, Bulgaria",
      "website_url": "http://stackoverflow.com/search?q=user%3a29407&tab=newest",
      "link": "http://stackoverflow.com/users/29407/darin-dimitrov",
      "display_name": "Darin Dimitrov",
      "profile_image": "https://www.gravatar.com/avatar/e3a181e9cdd4757a8b416d93878770c5?s=128&d=identicon&r=PG"
    },

ご覧のとおり、日付フィールドは逆シリアル化されていません。日付形式の代わりに数値を指定します。

適切な日付形式で JSON 応答を取得する方法は?

Java コードでこの URLを使用して、JSON 応答を文字列として取得しようとしていますが、機能しています。しかし、私はそれをオブジェクトに解析したい。アイテムのクラスと、フィールドが必要な Badge_counts を作成する必要があります。日付フィールドは、整数ではなく日付でなければなりません。文字列応答からオブジェクトへの解析中に、解析例外が発生する場合があります。それで、どうすればそれを解決できますか?

4

2 に答える 2

2

馬の口から: 「Stack Exchange API のすべての日付は、1970 年 1 月 1 日の午前 0 時 (UTC) からの秒数である UNIX エポック時間です。Stack Exchange API は端数を受け入れたり返したりしません。すべてを丸める必要があります。最も近い 1 秒です。」明らかに、内部で使用している日付形式に簡単に変換できます。

于 2014-04-30T06:01:17.003 に答える