-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjs_data.go
More file actions
44 lines (36 loc) · 736 Bytes
/
js_data.go
File metadata and controls
44 lines (36 loc) · 736 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package jsnm
type Jsnm struct {
raw_data interface{}
map_data MapData
arr_data []*Jsnm
cache map[string]*Jsnm
}
func NewJsnm(raw interface{}) *Jsnm {
return &Jsnm{raw_data: raw}
}
func (j *Jsnm) RawData() *RawData {
if nil == j {
return nil
}
return &RawData{raw: j.raw_data}
}
func (j *Jsnm) MapData() MapData {
if j.map_data == nil {
j.map_data = make(MapData)
if map_data, ok := j.raw_data.(map[string]interface{}); ok {
j.map_data = map_data
} else {
return nil
}
}
return j.map_data
}
func (j *Jsnm) MustFloat64() float64 {
return j.RawData().MustFloat64()
}
func (j *Jsnm) MustInt64() int64 {
return j.RawData().MustInt64()
}
func (j *Jsnm) Decode() string {
return j.RawData().Decode()
}