use UnMarhsalJSON function

develop
skanehira 5 years ago
parent 478923bafe
commit 84fb13d075

@ -135,21 +135,19 @@ func (g *Gui) Form(fieldLabel []string, doneLabel, title, pageName string,
func (g *Gui) LoadJSON() { func (g *Gui) LoadJSON() {
labels := []string{"file"} labels := []string{"file"}
g.Form(labels, "read", "read from file", "read_from_file", 7, func(values map[string]string) error { g.Form(labels, "read", "read from file", "read_from_file", 7, func(values map[string]string) error {
file := values[labels[0]] fileName := values[labels[0]]
b, err := ioutil.ReadFile(file) file, err := os.Open(fileName)
if err != nil { if err != nil {
log.Println(fmt.Sprintf("can't read file: %s", err)) log.Println(fmt.Sprintf("can't open file: %s", err))
return err return err
} }
var i interface{} i, err := UnMarshalJSON(file)
if err := json.Unmarshal(b, &i); err != nil { if err != nil {
log.Println(fmt.Sprintf("can't unmarshal json: %s", err))
return err return err
} }
g.Tree.UpdateView(g, i) g.Tree.UpdateView(g, i)
return nil return nil
}) })
} }
@ -271,6 +269,7 @@ func (g *Gui) parseValue(node *tview.TreeNode) interface{} {
func UnMarshalJSON(in io.Reader) (interface{}, error) { func UnMarshalJSON(in io.Reader) (interface{}, error) {
b, err := ioutil.ReadAll(in) b, err := ioutil.ReadAll(in)
if err != nil { if err != nil {
log.Println(err)
return nil, err return nil, err
} }
if len(b) == 0 { if len(b) == 0 {

Loading…
Cancel
Save