- refactor result parser.

This commit is contained in:
gazebo
2018-08-29 23:23:34 +08:00
parent cc7be396ea
commit e0c1aae0fc
10 changed files with 466 additions and 270 deletions

View File

@@ -93,6 +93,30 @@ func Interface2String(data interface{}) string {
return data.(string)
}
func Interface2Int64List(data interface{}) []int64 {
if data == nil {
return nil
}
list := data.([]interface{})
retVal := make([]int64, len(list))
for k, v := range list {
retVal[k] = MustInterface2Int64(v)
}
return retVal
}
func Interface2StringList(data interface{}) []string {
if data == nil {
return nil
}
list := data.([]interface{})
retVal := make([]string, len(list))
for k, v := range list {
retVal[k] = Interface2String(v)
}
return retVal
}
func Slice2MapSlice(data []interface{}) []map[string]interface{} {
retVal := make([]map[string]interface{}, len(data))
for k, v := range data {
@@ -250,3 +274,26 @@ func MapKV2List(mapData map[string]interface{}) []map[string]interface{} {
}
return retVal
}
func Format4Output(obj interface{}, isSingleLine bool) (retVal string) {
retVal, ok := obj.(string)
if !ok {
var (
result []byte
err error
)
if isSingleLine {
if result, err = json.Marshal(obj); err == nil {
retVal = string(result)
}
} else {
if result, err = json.MarshalIndent(obj, "", "\t"); err == nil {
retVal = string(result)
}
}
if err != nil {
retVal = fmt.Sprintf("%v", obj)
}
}
return retVal
}