本文整理汇总了Golang中github.com/bitly/go-simplejson.Json类的典型用法代码示例。如果您正苦于以下问题:Golang Json类的具体用法?Golang Json怎么用?Golang Json使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Json类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: parseResult
func parseResult(data *json.Json) (string, bool) {
address, ok := data.CheckGet("display_name")
if ok {
return address.MustString(), true
}
return "", false
}
示例2: getSubnet
func getSubnet(r *http.Request) (*SapiProvisionedSubnets, error) {
var port *sjson.Json
var sapiSubnet = &SapiProvisionedSubnets{}
post, err := sjson.NewFromReader(r.Body)
if err != nil {
return nil, err
}
port, ok := post.CheckGet("subnet")
if !ok {
return nil, ErrorNoPort
}
b, err := port.Encode()
if err != nil {
return nil, err
}
if err = json.Unmarshal(b, sapiSubnet); err != nil {
return nil, err
}
if err != nil {
return nil, err
}
return sapiSubnet, nil
}
示例3: syncPort
func syncPort(data *sjson.Json) (err error) {
var sapiPorts []*SapiProvisionedPorts
var fixips []*struct {
Ips []map[string]string `json:"fixed_ips"`
}
port, ok := data.CheckGet("port")
if !ok {
return ErrorNoNet
}
bytes, err := port.Encode()
if err != nil {
return err
}
if err = json.Unmarshal(bytes, &sapiPorts); err != nil {
return err
}
if err = json.Unmarshal(bytes, &fixips); err != nil {
return err
}
new(SapiProvisionedPorts).truncate()
for index, port := range sapiPorts {
//fmt.Println(index, *port, fixips[index].Ips[0]["ip_address"], fixips[index].Ips[0]["subnet_id"])
if len(fixips[index].Ips) >= 1 {
port.IpAddress = fixips[index].Ips[0]["ip_address"]
port.SubnetId = fixips[index].Ips[0]["subnet_id"]
}
if err := port.insert(); err != nil {
return err
}
}
return nil
}
示例4: buildMongoWhereByArray
func buildMongoWhereByArray(wheres *simplejson.Json, primaryKey string) []bson.M {
mongoWheres := []bson.M{}
for key, _ := range wheres.MustArray() {
mongoWhere := BuildMongoWhere(wheres.GetIndex(key), primaryKey)
mongoWheres = append(mongoWheres, mongoWhere)
}
return mongoWheres
}
示例5: Message
func (this *Context) Message(data *simplejson.Json) {
content, err := data.Get("content").String()
if err != nil {
log.Println(err)
return
}
gContexts.SendAll(map[string]interface{}{
"type": "message",
"userName": this.UserName,
"content": content,
})
}
示例6: Initialize
func Initialize(json *simpleJson.Json) *SlackBot {
if slackBot != nil {
return slackBot
}
self := json.Get("self")
slackBot = &SlackBot{
Id: self.Get("id").MustString(),
Name: self.Get("name").MustString(),
}
return slackBot
}
示例7: Init
func (p *NsqSrcProvider) Init(ctx *sj.Json) error {
var err error
p.nsqMsgChan = make(chan nsq.Message) // not buffered
p.timeOutSec = ctx.Get("timeout_sec").MustInt()
nsqLookupdAddrs := ctx.Get("nsq_lookupd_addrs").MustStringArray()
if len(nsqLookupdAddrs) <= 0 {
return errors.New("no nsq_lookupd_addr in provided")
}
topic := ctx.Get("topic").MustString()
channel := ctx.Get("channel").MustString()
p.config = nsq.NewConfig()
p.consumer, err = nsq.NewConsumer(topic, channel, p.config)
if p.consumer == nil || err != nil {
return err
}
p.consumer.AddHandler(nsq.HandlerFunc(func(message *nsq.Message) error {
p.nsqMsgChan <- *message
return nil
}))
err = p.consumer.ConnectToNSQLookupds(nsqLookupdAddrs) // ip:port
if err != nil {
return errors.New("Could not connect to nsqLookupd")
}
return nil
}
示例8: sumJSON
// Handles returning a sum for a *Json.
func sumJSON(json *simplejson.Json, ignoreRed bool) int {
slice, err := json.Array()
if err != nil {
panic(err)
}
return sumSlice(slice, ignoreRed)
}
示例9: Auth
func (this *Context) Auth(data *simplejson.Json) {
userName, err := data.Get("userName").String()
if err != nil {
log.Println(err)
return
}
this.UserName = userName
// send message
userNames := gContexts.GetAllUserNames()
gContexts.SendAll(map[string]interface{}{
"type": "auth",
"message": userName + "进入聊天室",
"userNames": userNames,
})
}
示例10: BuildMongoWhere
func BuildMongoWhere(where *simplejson.Json, primaryKey string) bson.M {
mongoWhere := bson.M{}
for key, value := range where.MustMap() {
switch key {
case "and", "or", "nor":
mongoWhere["$"+key] = buildMongoWhereByArray(
where.Get(key),
primaryKey,
)
continue
case primaryKey:
mongoWhere["_id"] = value
continue
}
mongoWhere[key] = value
}
return mongoWhere
}
示例11: Init
func (p *DmSrcProvider) Init(ctx *sj.Json) error {
var err error
p.monitorIntervalSec = ctx.Get("monitor_interval_sec").MustInt(10)
p.popLastFile = ctx.Get("pop_last_file").MustBool(true)
p.timeOutMs = ctx.Get("time_out_ms").MustInt(10000)
p.dataDir = ctx.Get("data_dir").MustString("/tmp")
stat, err := os.Stat(p.dataDir)
if (err != nil && !os.IsExist(err)) || !stat.IsDir() {
return errors.New("data dir not valid")
}
p.lastFileMap = make(map[string]string)
paths := ctx.Get("monitor_paths").MustStringArray()
if len(paths) <= 0 {
return errors.New("no monitor_paths is provided")
}
if err = p.initMonitorPaths(paths); err != nil {
return err
}
return nil
}
示例12: syncNet
func syncNet(data *sjson.Json) (err error) {
var sapiNets []*SapiProvisionedNets
network, ok := data.CheckGet("network")
if !ok {
return ErrorNoNet
}
bytes, err := network.Encode()
if err != nil {
return err
}
if err = json.Unmarshal(bytes, &sapiNets); err != nil {
return err
}
new(SapiProvisionedNets).truncate()
for _, net := range sapiNets {
if err := net.insert(); err != nil {
return err
}
}
return nil
}
示例13: syncSubnet
func syncSubnet(data *sjson.Json) (err error) {
var sapiSubnets []*SapiProvisionedSubnets
subnet, ok := data.CheckGet("subnet")
if !ok {
return ErrorNoSubnet
}
bytes, err := subnet.Encode()
if err != nil {
return err
}
if err = json.Unmarshal(bytes, &sapiSubnets); err != nil {
return err
}
new(SapiProvisionedSubnets).truncate()
for _, subnet := range sapiSubnets {
if err := subnet.insert(); err != nil {
return err
}
}
return nil
}
示例14: getNet
func getNet(r *http.Request) (*SapiProvisionedNets, error) {
var network *sjson.Json
var sapiNet = &SapiProvisionedNets{}
post, err := sjson.NewFromReader(r.Body)
if err != nil {
return nil, err
}
network, ok := post.CheckGet("network")
if !ok {
return nil, ErrorNoNet
}
b, err := network.Encode()
if err != nil {
return nil, err
}
if err = json.Unmarshal(b, sapiNet); err != nil {
return nil, err
}
return sapiNet, nil
}
示例15: Init
func (p *Workshop) Init(ctx *sj.Json, upCtrlChan chan int, upReportChan chan int, isTest bool) error {
p.ctx = ctx
p.upCtrlChan = upCtrlChan
p.upReportChan = upReportChan
p.processedLine = 0
var err error
if err = p.initLog(isTest); err != nil {
return err
}
logger.Debug("workshop init log success")
if err = p.initSrcProvider(); err != nil {
return err
}
logger.Debug("workshop init srcProvider success")
p.cronTickInterval = ctx.Get("main").Get("cron_tick_interval").MustInt()
p.memLimit = ctx.Get("main").Get("mem_limit").MustUint64()
p.PRCtrlChan = make(chan int, 1000) // 1000 is enough
p.PRReportChan = make(chan int)
p.CLCtrlChan = make(chan int, 1000) // 1000 is enough
p.CLReportChan = make(chan int)
if err = p.initChannel(isTest); err != nil {
return err
}
logger.Debug("workshop init channel and subroutine success")
logger.Info("start... config:\n[", *p.ctx, "]\n")
if isTest {
p.provider.Destory()
}
logger.SetConsole(false)
return nil
}