File tree Expand file tree Collapse file tree 3 files changed +89
-33
lines changed
Expand file tree Collapse file tree 3 files changed +89
-33
lines changed Original file line number Diff line number Diff line change 1+ package jsonx
2+
3+ import "encoding/json"
4+
5+ func BytesToObj [T any ](s []byte ) T {
6+ var v T
7+ err := json .Unmarshal (s , & v )
8+ if err != nil {
9+ panic (err )
10+ }
11+ return v
12+ }
13+
14+ func BytesToObjE [T any ](s []byte ) (T , error ) {
15+ var v T
16+ err := json .Unmarshal (s , & v )
17+ return v , err
18+ }
19+
20+ func BytesToObjPtr [T any ](s []byte ) * T {
21+ var v T
22+ err := json .Unmarshal (s , & v )
23+ if err != nil || v == nil {
24+ return nil
25+ }
26+ return & v
27+ }
28+
29+ func BytesToObjPtrE [T any ](s []byte ) (* T , error ) {
30+ var v T
31+ err := json .Unmarshal (s , & v )
32+ if err != nil || v == nil {
33+ return nil , err
34+ }
35+ return & v , nil
36+ }
37+
38+ func BytesToMap (s []byte ) map [string ]any {
39+ var v map [string ]any
40+ err := json .Unmarshal (s , & v )
41+ if err != nil {
42+ panic (err )
43+ }
44+ return v
45+ }
46+
47+ func BytesToMapE (s []byte ) (map [string ]any , error ) {
48+ var v map [string ]any
49+ err := json .Unmarshal (s , & v )
50+ return v , err
51+ }
52+
53+ func BytesToArr (s []byte ) []any {
54+ var v []any
55+ err := json .Unmarshal (s , & v )
56+ if err != nil {
57+ panic (err )
58+ }
59+ return v
60+ }
Original file line number Diff line number Diff line change 1+ package jsonx
2+
3+ func ToObj [T any ](s string ) T {
4+ return BytesToObj [T ]([]byte (s ))
5+ }
6+
7+ func ToObjE [T any ](s string ) (T , error ) {
8+ return BytesToObjE [T ]([]byte (s ))
9+ }
10+
11+ func ToObjPtr [T any ](s string ) * T {
12+ return BytesToObjPtr [T ]([]byte (s ))
13+ }
14+
15+ func ToObjPtrE [T any ](s string ) (* T , error ) {
16+ return BytesToObjPtrE [T ]([]byte (s ))
17+ }
18+
19+ func ToMap (s string ) map [string ]any {
20+ return BytesToMap ([]byte (s ))
21+ }
22+
23+ func ToMapE (s string ) (map [string ]any , error ) {
24+ return BytesToMapE ([]byte (s ))
25+ }
26+
27+ func ToArr (s string ) []any {
28+ return BytesToArr ([]byte (s ))
29+ }
Original file line number Diff line number Diff line change @@ -35,36 +35,3 @@ func ToStringIE(o any) (string, error) {
3535 }
3636 return string (bs ), nil
3737}
38-
39- func ToObj [T any ](s string ) T {
40- var v T
41- err := json .Unmarshal ([]byte (s ), & v )
42- if err != nil {
43- panic (err )
44- }
45- return v
46- }
47-
48- func ToObjE [T any ](s string ) (T , error ) {
49- var v T
50- err := json .Unmarshal ([]byte (s ), & v )
51- return v , err
52- }
53-
54- func ToObjPtr [T any ](s string ) * T {
55- var v T
56- err := json .Unmarshal ([]byte (s ), & v )
57- if err != nil || v == nil {
58- return nil
59- }
60- return & v
61- }
62-
63- func ToObjPtrE [T any ](s string ) (* T , error ) {
64- var v T
65- err := json .Unmarshal ([]byte (s ), & v )
66- if err != nil || v == nil {
67- return nil , err
68- }
69- return & v , nil
70- }
You can’t perform that action at this time.
0 commit comments