Signed-off-by: lxinyu <lxinyu@lxinyu.cn>
This commit is contained in:
commit
4078f1de85
18
go.mod
Normal file
18
go.mod
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
module cqjzb
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require (
|
||||||
|
gitlab.lxinyu.cn/lxinyu/go/c v0.0.0
|
||||||
|
gitlab.lxinyu.cn/lxinyu/go/gabs v0.0.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/gogf/gf v1.16.8 // indirect
|
||||||
|
golang.org/x/text v0.3.7 // indirect
|
||||||
|
)
|
||||||
|
|
||||||
|
replace (
|
||||||
|
gitlab.lxinyu.cn/lxinyu/go/c => C:\Users\Administrator\go\src\gitlab.lxinyu.cn\lxinyu\go\c
|
||||||
|
gitlab.lxinyu.cn/lxinyu/go/gabs => C:\Users\Administrator\go\src\gitlab.lxinyu.cn\lxinyu\go\gabs
|
||||||
|
)
|
||||||
55
go.sum
Normal file
55
go.sum
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||||
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
|
github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28 h1:LdXxtjzvZYhhUaonAaAKArG3pyC67kGL3YY+6hGG8G4=
|
||||||
|
github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
|
||||||
|
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
|
||||||
|
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||||
|
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||||
|
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
|
||||||
|
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||||
|
github.com/gogf/gf v1.16.8 h1:iVXUB+QPQIYDMMjMdDb6ZINF8xf5bWy54XxAo600zMs=
|
||||||
|
github.com/gogf/gf v1.16.8/go.mod h1:8Q/kw05nlVRp+4vv7XASBsMe9L1tsVKiGoeP2AHnlkk=
|
||||||
|
github.com/gomodule/redigo v1.8.5 h1:nRAxCa+SVsyjSBrtZmG/cqb6VbTmuRzpg/PoTFlpumc=
|
||||||
|
github.com/gomodule/redigo v1.8.5/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
|
||||||
|
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
||||||
|
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||||
|
github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
|
||||||
|
github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
|
||||||
|
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
|
||||||
|
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
|
||||||
|
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
|
||||||
|
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||||
|
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
||||||
|
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||||
|
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
|
||||||
|
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||||
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
go.opentelemetry.io/otel v1.0.0 h1:qTTn6x71GVBvoafHK/yaRUmFzI4LcONZD0/kXxl5PHI=
|
||||||
|
go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg=
|
||||||
|
go.opentelemetry.io/otel/trace v1.0.0 h1:TSBr8GTEtKevYMG/2d21M989r5WJYVimhTHBKVEZuh4=
|
||||||
|
go.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs=
|
||||||
|
golang.org/x/net v0.0.0-20210520170846-37e1c6afe023 h1:ADo5wSpq2gqaCGQWzk7S5vd//0iyyLeAratkEoG5dLE=
|
||||||
|
golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
|
||||||
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
|
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
|
||||||
|
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
143
存取键值表.go
Normal file
143
存取键值表.go
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
// 存取值用的键值对象
|
||||||
|
// 等同于Java中的HashMap 或 C#中的Dictionary对象
|
||||||
|
package cqjzb
|
||||||
|
|
||||||
|
import (
|
||||||
|
//. "github.com/duolabmeng6/goefun/core"
|
||||||
|
//"github.com/duolabmeng6/goefun/os/gabs"
|
||||||
|
. "git.lxinyu.cn/lxinyu/c"
|
||||||
|
"git.lxinyu.cn/lxinyu/gabs"
|
||||||
|
)
|
||||||
|
|
||||||
|
type EJson struct {
|
||||||
|
Json *gabs.Container
|
||||||
|
}
|
||||||
|
type H map[string]interface{}
|
||||||
|
|
||||||
|
func New存取键值表() *EJson {
|
||||||
|
x := new(EJson).Init()
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
func NewJson() *EJson {
|
||||||
|
x := new(EJson).Init()
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) Init() *EJson {
|
||||||
|
this.Json = gabs.New()
|
||||||
|
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) Clear() *EJson {
|
||||||
|
this.Json = gabs.New()
|
||||||
|
return this
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) Del(key string) error {
|
||||||
|
return this.Json.DeleteP(key)
|
||||||
|
}
|
||||||
|
func (this *EJson) E删除(key string) error {
|
||||||
|
return this.Json.DeleteP(key)
|
||||||
|
}
|
||||||
|
func (this *EJson) GetString(key string) string {
|
||||||
|
if this.Json.ExistsP(key) {
|
||||||
|
//str := this.Json.Path(key).Data().(string)
|
||||||
|
|
||||||
|
return C到文本(this.Json.Path(key).Data())
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
func (this *EJson) E取文本(key string) string {
|
||||||
|
return this.GetString(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) GetInt(key string) int64 {
|
||||||
|
if this.Json.ExistsP(key) {
|
||||||
|
value := C到整数(this.Json.Path(key).Data())
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
func (this *EJson) E取值(key string) int64 {
|
||||||
|
return this.GetInt(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) GetBool(key string) bool {
|
||||||
|
if this.Json.ExistsP(key) {
|
||||||
|
value := this.Json.Path(key).Data().(bool)
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
func (this *EJson) E取逻辑值(key string) bool {
|
||||||
|
return this.GetBool(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) Set(key string, value interface{}) {
|
||||||
|
_, _ = this.Json.SetP(value, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) SetArray(key string, value interface{}) {
|
||||||
|
//_, _ = this.Json.ArrayP(key)
|
||||||
|
_ = this.Json.ArrayAppendP(value, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) Data() interface{} {
|
||||||
|
return this.Json.Data()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) LoadFromJsonFile(filepath string) bool {
|
||||||
|
data := C读入文件(filepath)
|
||||||
|
//fmt.Printf(string(data))
|
||||||
|
var err error
|
||||||
|
this.Json, err = gabs.ParseJSON(data)
|
||||||
|
//fmt.Print(err)
|
||||||
|
return err != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *EJson) LoadFromJsonString(data string) bool {
|
||||||
|
var err error
|
||||||
|
this.Json, err = gabs.ParseJSON(C到字节集(data))
|
||||||
|
//fmt.Print(err)
|
||||||
|
return err != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//调用格式: 〈文本型〉 对象.到JSON (逻辑型 是否修饰,[逻辑型 是否UNICODE],[整数型 主键排序方式]) - E2EE互联网服务器套件2.2.3->存取键值表
|
||||||
|
//英文名称:ToJSON
|
||||||
|
//内容转换到JSON文本。本命令为初级对象成员命令。
|
||||||
|
//参数<1>的名称为“是否修饰”,类型为“逻辑型(bool)”,初始值为“假”。修饰后输出的内容更便于阅读。效率会稍微低一点。
|
||||||
|
//参数<2>的名称为“是否UNICODE”,类型为“逻辑型(bool)”,可以被省略。是否输出为UNICODE文本。如果为空则默认为假,如果为真,则中文等字符将转换为UNICODE并转换为以“\u”开头带四位十六进制文本的内容。
|
||||||
|
//参数<3>的名称为“主键排序方式”,类型为“整数型(int)”,可以被省略。当前键值表和所有下级键值表输出时的主键排序方式。[0] 不排序 [1] 正向排序 [2] 反向排序。如果为空则默认为0。
|
||||||
|
//
|
||||||
|
//操作系统需求: Windows
|
||||||
|
|
||||||
|
func (this *EJson) ToJson(是否修饰 bool) string {
|
||||||
|
|
||||||
|
if 是否修饰 {
|
||||||
|
return this.Json.StringIndent("", " ")
|
||||||
|
} else {
|
||||||
|
return this.Json.String()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
func (this *EJson) E到JSON(是否修饰 bool) string {
|
||||||
|
return this.ToJson(是否修饰)
|
||||||
|
}
|
||||||
|
func (this *EJson) GetArrayCount(s string) int {
|
||||||
|
int, _ := this.Json.ArrayCountP(s)
|
||||||
|
return int
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetArrayAllData 获取某个数组里面的所有数据
|
||||||
|
//
|
||||||
|
// for i, object := range v.GetArrayAllData("array.list") {
|
||||||
|
// fmt.Printf("i:%s value:%s \n", i, object.Path("avg").Data().(string))
|
||||||
|
// fmt.Printf("i:%s value:%s \n", i, object.Path("avg").ToString())
|
||||||
|
// fmt.Printf("i:%s value:%s \n", i, object.Path("avg").ToInt())
|
||||||
|
// fmt.Printf("i:%s value:%s \n", i, object.GetString("avg"))
|
||||||
|
// }
|
||||||
|
func (this *EJson) GetArrayAllData(s string) []*gabs.Container {
|
||||||
|
objects := this.Json.Path(s).Children()
|
||||||
|
|
||||||
|
return objects
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user