1
This commit is contained in:
parent
f9776ebd7c
commit
e21d2e3b5d
33
xobject.go
33
xobject.go
@ -24,6 +24,13 @@ func NewXoFromJsonStr(jsonStr string) *XObject {
|
||||
}
|
||||
}
|
||||
|
||||
func NewXoString(val string) *XObject {
|
||||
p := new(XObject)
|
||||
p._type = XOT_SIMPLE
|
||||
p._val = NewXString(val)
|
||||
return p
|
||||
}
|
||||
|
||||
func (this *XObject) Size() int {
|
||||
if (this._type == XOT_ARRAY) {
|
||||
array := this._val.([]*XObject)
|
||||
@ -43,6 +50,18 @@ func (this *XObject) GetType() int8 {
|
||||
return this._type
|
||||
}
|
||||
|
||||
func (this *XObject) IsSimple() bool {
|
||||
return this.GetType() == XOT_SIMPLE
|
||||
}
|
||||
|
||||
func (this *XObject) IsArray() bool {
|
||||
return this.GetType() == XOT_ARRAY
|
||||
}
|
||||
|
||||
func (this *XObject) IsObject() bool {
|
||||
return this.GetType() == XOT_OBJECT
|
||||
}
|
||||
|
||||
func (this *XObject) AsXValue() *XValue {
|
||||
if this._type == XOT_SIMPLE {
|
||||
if this._val == nil {
|
||||
@ -92,6 +111,20 @@ func (this *XObject) HasKey(key string) bool {
|
||||
}
|
||||
}
|
||||
|
||||
func (this *XObject) GetSimpleStr(key string, defVal string) string {
|
||||
if this.IsObject() {
|
||||
val := this.At(key)
|
||||
if val != nil {
|
||||
if val.IsSimple() {
|
||||
return val.AsXValue().GetString()
|
||||
} else {
|
||||
return defVal
|
||||
}
|
||||
}
|
||||
}
|
||||
return defVal
|
||||
}
|
||||
|
||||
func (this *XObject) readFromJsonString(data string) bool {
|
||||
jsonType := JsonStrType(data)
|
||||
if jsonType == JSON_OBJECT {
|
||||
|
Loading…
x
Reference in New Issue
Block a user