From 656e9c35d6dafa62d24e2799d02fce11d196f448 Mon Sep 17 00:00:00 2001 From: john Date: Fri, 3 Aug 2018 18:20:39 +0800 Subject: [PATCH] =?UTF-8?q?gdb=E7=BB=93=E6=9E=9C=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=A2=9E=E5=8A=A0ToXml=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- g/database/gdb/gdb_type_record.go | 10 ++++++-- g/database/gdb/gdb_type_result.go | 12 +++++++-- geg/database/mysql/gdb_json_xml.go | 39 ++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 geg/database/mysql/gdb_json_xml.go diff --git a/g/database/gdb/gdb_type_record.go b/g/database/gdb/gdb_type_record.go index 6fa17af14..89e1b5f8a 100644 --- a/g/database/gdb/gdb_type_record.go +++ b/g/database/gdb/gdb_type_record.go @@ -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) } diff --git a/g/database/gdb/gdb_type_result.go b/g/database/gdb/gdb_type_result.go index 9310cdc09..24e95465f 100644 --- a/g/database/gdb/gdb_type_result.go +++ b/g/database/gdb/gdb_type_result.go @@ -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) } diff --git a/geg/database/mysql/gdb_json_xml.go b/geg/database/mysql/gdb_json_xml.go new file mode 100644 index 000000000..74bcf37a3 --- /dev/null +++ b/geg/database/mysql/gdb_json_xml.go @@ -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) +} \ No newline at end of file