改进gparser,增加NewUnsafe/Append方法

This commit is contained in:
john
2018-09-14 14:00:06 +08:00
parent 1956313be7
commit 2a0a294ce9

View File

@ -22,6 +22,14 @@ func New (value interface{}, safe...bool) *Parser {
return &Parser{gjson.New(value, safe...)}
}
// 非并发安全Parser对象
func NewUnsafe (value...interface{}) *Parser {
if len(value) > 0 {
return &Parser{gjson.New(value[0], false)}
}
return &Parser{gjson.New(nil, false)}
}
func Load (path string) (*Parser, error) {
if j, e := gjson.Load(path); e == nil {
return &Parser{j}, nil
@ -144,6 +152,11 @@ func (p *Parser) Set(pattern string, value interface{}) error {
return p.json.Set(pattern, value)
}
// 指定pattern追加元素
func (j *Parser) Append(pattern string, value interface{}) error {
return j.json.Append(pattern, value)
}
// 动态删除变量节点
func (p *Parser) Remove(pattern string) error {
return p.json.Remove(pattern)