优化框架gmap/gjson/gparser/gcfg包,增加常用的基本数据类型转换获取方法

This commit is contained in:
John
2018-07-01 00:27:33 +08:00
parent 2a6e73e2d7
commit ebbbefcaf5
15 changed files with 488 additions and 34 deletions

View File

@ -9,6 +9,7 @@ package gparser
import (
"gitee.com/johng/gf/g/encoding/gjson"
"time"
)
type Parser struct {
@ -74,6 +75,18 @@ func (p *Parser) GetString(pattern string) string {
return p.json.GetString(pattern)
}
func (p *Parser) GetStrings(pattern string) []string {
return p.json.GetStrings(pattern)
}
func (p *Parser) GetTime(pattern string, format ... string) time.Time {
return p.json.GetTime(pattern, format...)
}
func (p *Parser) GetTimeDuration(pattern string) time.Duration {
return p.json.GetTimeDuration(pattern)
}
// 返回指定json中的bool(false:"", 0, false, off)
func (p *Parser) GetBool(pattern string) bool {
return p.json.GetBool(pattern)
@ -138,11 +151,11 @@ func (p *Parser) Remove(pattern string) error {
return p.json.Remove(pattern)
}
// 根据约定字符串方式访问json解析数据参数形如 "items.name.first", "list.0"
// 返回的结果类型的interface{},因此需要自己做类型转换
// 如果找不到对应节点的数据返回nil
func (p *Parser) Get(pattern string) interface{} {
return p.json.Get(pattern)
// 根据约定字符串方式访问json解析数据参数形如 "items.name.first", "list.0"; 当pattern为空时表示获取所有数据
// 返回的结果类型的interface{},因此需要自己做类型转换;
// 如果找不到对应节点的数据返回nil;
func (p *Parser) Get(pattern...string) interface{} {
return p.json.Get(pattern...)
}
// 转换为map[string]interface{}类型,如果转换失败返回nil