fix save value null to "null"

develop
skanehira 5 years ago
parent 495202c432
commit 28c301ebee

@ -239,6 +239,8 @@ func (g *Gui) parseValue(node *tview.TreeNode) interface{} {
case Boolean: case Boolean:
b, _ := strconv.ParseBool(v) b, _ := strconv.ParseBool(v)
return b return b
case Null:
return nil
} }
return v return v

@ -95,9 +95,14 @@ func (t *Tree) AddNode(node interface{}) []*tview.TreeNode {
case reflect.Bool: case reflect.Bool:
valueType = Boolean valueType = Boolean
default: default:
valueType = String if node == nil {
valueType = Null
} else {
valueType = String
}
} }
log.Printf("value_type:%v", valueType)
nodes = append(nodes, t.NewNodeWithLiteral(node). nodes = append(nodes, t.NewNodeWithLiteral(node).
SetReference(Reference{JSONType: Value, ValueType: valueType})) SetReference(Reference{JSONType: Value, ValueType: valueType}))
} }
@ -105,6 +110,9 @@ func (t *Tree) AddNode(node interface{}) []*tview.TreeNode {
} }
func (t *Tree) NewNodeWithLiteral(i interface{}) *tview.TreeNode { func (t *Tree) NewNodeWithLiteral(i interface{}) *tview.TreeNode {
if i == nil {
return tview.NewTreeNode("null")
}
return tview.NewTreeNode(fmt.Sprintf("%v", i)) return tview.NewTreeNode(fmt.Sprintf("%v", i))
} }

@ -28,6 +28,7 @@ const (
String String
Float Float
Boolean Boolean
Null
) )
var valueTypeMap = map[ValueType]string{ var valueTypeMap = map[ValueType]string{
@ -35,6 +36,7 @@ var valueTypeMap = map[ValueType]string{
String: "string", String: "string",
Float: "float", Float: "float",
Boolean: "boolean", Boolean: "boolean",
Null: "null",
} }
func (v ValueType) String() string { func (v ValueType) String() string {

Loading…
Cancel
Save