Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "encoding/json"
  5. "fmt"
  6. "github.com/codegangsta/martini"
  7. "io/ioutil"
  8. "math/rand"
  9. "time"
  10. )
  11.  
  12. func main() {
  13. m := martini.Classic()
  14.  
  15. // Import Puns.json file and serialize into go struct
  16. file, err := ioutil.ReadFile("./puns.json")
  17. if err != nil {
  18. fmt.Printf("File error: %v\n", err)
  19. }
  20.  
  21. type Puns []struct {
  22. Pun string `json:"Pun"`
  23. }
  24.  
  25. var p Puns
  26. err = json.Unmarshal([]byte(file), &p)
  27. if err != nil {
  28. fmt.Println("error:", err)
  29. }
  30.  
  31. m.Get("/api", func() string {
  32. return "{\"message\":\"Welcome! Please refer to the docs for API calls\"}"
  33. })
  34.  
  35. m.Get("/api/random", func() string {
  36. rand.Seed(time.Now().UnixNano())
  37. randomNum := rand.Intn(100)
  38.  
  39. b, err := json.Marshal(p[randomNum])
  40. if err != nil {
  41. fmt.Println("error:", err)
  42. }
  43.  
  44. fmt.Printf("%+v", b[2])
  45. return ""
  46. })
  47.  
  48. m.Run()
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement