gdb结果方法处理增加ToXml方法

This commit is contained in:
john
2018-08-03 18:20:39 +08:00
parent 4f9a9b519e
commit 656e9c35d6
3 changed files with 57 additions and 4 deletions

View File

@ -8,12 +8,18 @@ package gdb
import (
"gitee.com/johng/gf/g/util/gutil"
"gitee.com/johng/gf/g/encoding/gjson"
"gitee.com/johng/gf/g/encoding/gparser"
)
// 将记录结果转换为JSON字符串
func (r Record) ToJson() string {
content, _ := gjson.Encode(r.ToMap())
content, _ := gparser.VarToJson(r.ToMap())
return string(content)
}
// 将记录结果转换为XML字符串
func (r Record) ToXml() string {
content, _ := gparser.VarToXml(r.ToMap())
return string(content)
}

View File

@ -6,11 +6,19 @@
package gdb
import "gitee.com/johng/gf/g/encoding/gjson"
import (
"gitee.com/johng/gf/g/encoding/gparser"
)
// 将结果集转换为JSON字符串
func (r Result) ToJson() string {
content, _ := gjson.Encode(r.ToList())
content, _ := gparser.VarToJson(r.ToList())
return string(content)
}
// 将结果集转换为JSON字符串
func (r Result) ToXml() string {
content, _ := gparser.VarToXml(r.ToList())
return string(content)
}

View File

@ -0,0 +1,39 @@
package main
import (
"gitee.com/johng/gf/g/database/gdb"
"fmt"
"gitee.com/johng/gf/g/encoding/gparser"
)
func main() {
gdb.AddDefaultConfigNode(gdb.ConfigNode {
Host : "127.0.0.1",
Port : "3306",
User : "root",
Pass : "123456",
Name : "test",
Type : "mysql",
Role : "master",
Charset : "utf8",
})
db, err := gdb.New()
if err != nil {
panic(err)
}
one, err := db.Table("user").Where("uid=?", 1).One()
if err != nil {
panic(err)
}
// 使用内置方法转换为json/xml
fmt.Println(one.ToJson())
fmt.Println(one.ToXml())
// 自定义方法方法转换为json/xml
jsonContent, _ := gparser.VarToJson(one.ToMap())
fmt.Println(jsonContent)
xmlContent, _ := gparser.VarToXml(one.ToMap())
fmt.Println(xmlContent)
}