json2nats/main.go

53 lines
863 B
Go
Raw Permalink Normal View History

package main
import (
"flag"
"fmt"
"os"
)
func main() {
var fi, fo string
flag.Usage = func() {
fmt.Println("json2nats version v0.2")
flag.PrintDefaults()
}
flag.StringVar(&fi, "i", "default.json", "Json file name")
flag.StringVar(&fo, "o", "", "Output file name")
flag.Parse()
bi, err := os.ReadFile(fi)
if err != nil {
panic(err)
}
fmt.Println("[OK] Read json file:", fi)
var bo []byte = make([]byte, 0)
for i := range bi {
switch bi[i] {
case ' ':
case '\n':
case '\r':
// do nothing.
case '"':
bo = append(bo, []byte(`\"`)...)
case ',':
bo = append(bo, []byte(`, `)...)
default:
bo = append(bo, bi[i])
}
}
fmt.Println("[OK] Make nats tool string:")
if fo != "" {
err = os.WriteFile(fo, bo, 0644)
if err != nil {
panic(err)
}
fmt.Println("[OK] Write to:", fo)
}
fmt.Println(string(bo))
}