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