package main

import (
  "crypto/rand"
  "encoding/json"
  "io/ioutil"
  "os"
)

func mkstring () string {
  stringchars := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
  newstring := ""
  b := make([]byte, 5)

  // 乱数を生成
  if _, err := rand.Read(b); err != nil {
    return "不明なエラー"
  }

  // ランダムに取り出して文字列を生成
  for _, v := range b {
    // index が stringchars の長さに収まるように調整
    newstring += string(stringchars[int(v)%len(stringchars)])
  }

  return newstring
}

func insertjson (url string, linkpath string) string {
  payload := getlinks(linkpath)

  newstring := mkstring()
  payload[newstring] = url
  m, _ := json.Marshal(&payload)
  payload = nil
  ioutil.WriteFile(linkpath, m, os.ModePerm)

  return newstring
}