atc0005 / learn

Various topics that I want to learn more about, either for professional development or for my own use
0 stars 0 forks source link

Create CLI app for parsing Go Downloads JSON feed #74

Open atc0005 opened 4 years ago

atc0005 commented 4 years ago

https://golang.org/dl/?mode=json

Work with the feed to try and pull specific bits of info. Should make a good "toy" project for learning how to work with JSON (something I don't have a lot of experience with).

atc0005 commented 4 years ago

Current contents (if needed to contrast with newer content later):

[
 {
  "version": "go1.14",
  "stable": true,
  "files": [
   {
    "filename": "go1.14.src.tar.gz",
    "os": "",
    "arch": "",
    "version": "go1.14",
    "sha256": "6d643e46ad565058c7a39dac01144172ef9bd476521f42148be59249e4b74389",
    "size": 22377333,
    "kind": "source"
   },
   {
    "filename": "go1.14.darwin-amd64.tar.gz",
    "os": "darwin",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "2472dcd681b761501fadb35ec361503efd27de2ba2270b2fe35cb6ece7362243",
    "size": 124931758,
    "kind": "archive"
   },
   {
    "filename": "go1.14.darwin-amd64.pkg",
    "os": "darwin",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "8405d748b7b56720b004c18087576a24b7eab057725c03c8160b949d239c6ee4",
    "size": 125292424,
    "kind": "installer"
   },
   {
    "filename": "go1.14.freebsd-386.tar.gz",
    "os": "freebsd",
    "arch": "386",
    "version": "go1.14",
    "sha256": "9717901860aab759ff1e555b0e62d58669939f7b2a86fc45d4015db29c92614d",
    "size": 104529723,
    "kind": "archive"
   },
   {
    "filename": "go1.14.freebsd-amd64.tar.gz",
    "os": "freebsd",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "d86041687515ac3729807cdaa6787a1a10ee4cfdefd427043dcdb20544096fa1",
    "size": 123515663,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-386.tar.gz",
    "os": "linux",
    "arch": "386",
    "version": "go1.14",
    "sha256": "cdcdab6c8d1f2dcea3bbec793352ef84db167a2eb6c60ff69e5cf94dca575f9a",
    "size": 104734274,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-amd64.tar.gz",
    "os": "linux",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "08df79b46b0adf498ea9f320a0f23d6ec59e9003660b4c9c1ce8e5e2c6f823ca",
    "size": 123550266,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-arm64.tar.gz",
    "os": "linux",
    "arch": "arm64",
    "version": "go1.14",
    "sha256": "cd813387f770c07819912f8ff4b9796a4e317dee92548b7226a19e60ac79eb27",
    "size": 100921204,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-armv6l.tar.gz",
    "os": "linux",
    "arch": "armv6l",
    "version": "go1.14",
    "sha256": "b5e682176d7ad3944404619a39b585453a740a2f82683e789f4279ec285b7ecd",
    "size": 101668738,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-ppc64le.tar.gz",
    "os": "linux",
    "arch": "ppc64le",
    "version": "go1.14",
    "sha256": "b896b5eba616d27fd3bb8218de6bef557cb62221e42f73c84ae4b89cdb602dec",
    "size": 99746481,
    "kind": "archive"
   },
   {
    "filename": "go1.14.linux-s390x.tar.gz",
    "os": "linux",
    "arch": "s390x",
    "version": "go1.14",
    "sha256": "22e67470fe872c893face196f02323a11ffe89999260c136b9c50f06619e0243",
    "size": 105187203,
    "kind": "archive"
   },
   {
    "filename": "go1.14.windows-386.zip",
    "os": "windows",
    "arch": "386",
    "version": "go1.14",
    "sha256": "adb634bedc4143b67c50b2e60f36a2cbcad6ab05ec41a972e2115701584170a2",
    "size": 117878427,
    "kind": "archive"
   },
   {
    "filename": "go1.14.windows-386.msi",
    "os": "windows",
    "arch": "386",
    "version": "go1.14",
    "sha256": "e38482d6ba1b421fc1a3d7190fb042ba07f79ca0d186dd3105e28fe92ef20f07",
    "size": 103469056,
    "kind": "installer"
   },
   {
    "filename": "go1.14.windows-amd64.zip",
    "os": "windows",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "cc2f1e8d19744fe0b2e979bf9a4f9d224e416f4f54cb6cf3aa8b5e9c0865de37",
    "size": 137604433,
    "kind": "archive"
   },
   {
    "filename": "go1.14.windows-amd64.msi",
    "os": "windows",
    "arch": "amd64",
    "version": "go1.14",
    "sha256": "5d3b87736bf9e86e971055e5db61e8b4ec31405f42d954ad3a71ac758876685e",
    "size": 120561664,
    "kind": "installer"
   }
  ]
 },
 {
  "version": "go1.13.8",
  "stable": true,
  "files": [
   {
    "filename": "go1.13.8.src.tar.gz",
    "os": "",
    "arch": "",
    "version": "go1.13.8",
    "sha256": "b13bf04633d4d8cf53226ebeaace8d4d2fd07ae6fa676d0844a688339debec34",
    "size": 21631178,
    "kind": "source"
   },
   {
    "filename": "go1.13.8.darwin-amd64.tar.gz",
    "os": "darwin",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "e7bad54950e1d18c716ac9202b5406e7d4aca9aa4ca9e334a9742f75c2167a9c",
    "size": 121522561,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.darwin-amd64.pkg",
    "os": "darwin",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "358bf3bcae8eb6030b0d8551b9330ded4d98b56e80e8b7e85e1eb3672f63da99",
    "size": 121877747,
    "kind": "installer"
   },
   {
    "filename": "go1.13.8.freebsd-386.tar.gz",
    "os": "freebsd",
    "arch": "386",
    "version": "go1.13.8",
    "sha256": "5e02b9d3a3b5d7c61d43eea80b27875a9350472ffcb80c08fad857076d670d8b",
    "size": 101192642,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.freebsd-amd64.tar.gz",
    "os": "freebsd",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "d8ea8fa5f93ba66f1f011fe40706635a95d754704da68ec7c406ba52ed4ec93a",
    "size": 120068001,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-386.tar.gz",
    "os": "linux",
    "arch": "386",
    "version": "go1.13.8",
    "sha256": "2305c1c46b3eaf574c7b03cfa6b167c199a2b52da85872317438c90074fdb46e",
    "size": 101318739,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-amd64.tar.gz",
    "os": "linux",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "0567734d558aef19112f2b2873caa0c600f1b4a5827930eb5a7f35235219e9d8",
    "size": 120075156,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-arm64.tar.gz",
    "os": "linux",
    "arch": "arm64",
    "version": "go1.13.8",
    "sha256": "b46c0235054d0eb69a295a2634aec8a11c7ae19b3dc53556a626b89dc1f8cdb0",
    "size": 97595216,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-armv6l.tar.gz",
    "os": "linux",
    "arch": "armv6l",
    "version": "go1.13.8",
    "sha256": "75f590d8e048a97cbf8b09837b15b3e6b44e1374718a96a5c3a994843ef44a4d",
    "size": 98281295,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-ppc64le.tar.gz",
    "os": "linux",
    "arch": "ppc64le",
    "version": "go1.13.8",
    "sha256": "4c987b3969d33a93880a218064d2330d7f55c9b58698e78db6b56012058e91a9",
    "size": 96429757,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.linux-s390x.tar.gz",
    "os": "linux",
    "arch": "s390x",
    "version": "go1.13.8",
    "sha256": "994f961df0d7bdbfa6f7eed604539acf9159444dabdff3ce8e938d095d85f756",
    "size": 102161645,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.windows-386.zip",
    "os": "windows",
    "arch": "386",
    "version": "go1.13.8",
    "sha256": "00c765048392c78fd3681ea5279c408e21fc94f033a504a1158fc6279fb068e3",
    "size": 114496546,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.windows-386.msi",
    "os": "windows",
    "arch": "386",
    "version": "go1.13.8",
    "sha256": "6dd6078c7e0e950a8ab4e4efd02072f83ae165f5a98319988ec3ef75ab9cab85",
    "size": 100327424,
    "kind": "installer"
   },
   {
    "filename": "go1.13.8.windows-amd64.zip",
    "os": "windows",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "aaf0888907144ca7070c8dad03fcf1308f77a42d2f6e4d2a609e64e9ae73cf4f",
    "size": 134205773,
    "kind": "archive"
   },
   {
    "filename": "go1.13.8.windows-amd64.msi",
    "os": "windows",
    "arch": "amd64",
    "version": "go1.13.8",
    "sha256": "e31ee61f7df18e45b1ab304536c96f9bd98298891bc09c8a1316dc6747bf7adc",
    "size": 117370880,
    "kind": "installer"
   }
  ]
 }
]