- refactor result parser.
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user