diff --git a/import.go b/import.go index 3a54b87..5ba6f1b 100644 --- a/import.go +++ b/import.go @@ -7,7 +7,7 @@ import ( "os" ) -type userInfo struct { +type importUser struct { Username string `json:"username"` HasPass bool `json:"has_pass"` Email string `json:"email"` @@ -16,18 +16,18 @@ type userInfo struct { } type importCollection struct { - Alias string `json:"alias"` - Title string `json:"title"` - Description string `json:"description"` - StyleSheet string `json:"style_sheet"` - Public bool `json:"public"` - Views int `json:"views"` - URL string `json:"url"` - Total int `json:"total_posts"` - Posts []post `json:"posts"` + Alias string `json:"alias"` + Title string `json:"title"` + Description string `json:"description"` + StyleSheet string `json:"style_sheet"` + Public bool `json:"public"` + Views int `json:"views"` + URL string `json:"url"` + Total int `json:"total_posts"` + Posts []importPost `json:"posts"` } -type post struct { +type importPost struct { ID string `json:"id"` Slug string `json:"slug"` Appearance string `json:"appearance"` @@ -42,26 +42,37 @@ type post struct { } func jsonReader() { - // Open our jsonFile + // Open the jsonFile jsonFile, err := os.Open("skye-201905250022.json") - // if we os.Open returns an error then handle it + // If os.Open returns an error then handle it if err != nil { fmt.Println(err) } fmt.Println("Successfully Opened users.json") - // defer the closing of our jsonFile so that we can parse it later on + // Defer the closing of our jsonFile so it can be parsed later defer jsonFile.Close() - // read our opened xmlFile as a byte array. + // Read the opened xmlFile as a byte array. byteValue, _ := ioutil.ReadAll(jsonFile) - // we initialize our collections array - var u userInfo + // Initialize the collections array + var u importUser - // we unmarshal our byteArray which contains our - // jsonFile's content into 'users' which we defined above + // Unmarshal the byteArray which contains the + // jsonFile's content into 'importUser' json.Unmarshal(byteValue, &u) - fmt.Println(u.Collections[0].Posts) + + fmt.Printf("Top level data is: %+v", u) + fmt.Println("Collection data is: ") + for _, c := range u.Collections { + fmt.Println(c) + } + fmt.Println("Posts data are: ") + for _, coll := range u.Collections { + for _, p := range coll.Posts { + fmt.Println(p) + } + } return // for _, p := range u.Collections[0].Posts {