當前位置: 首頁>>代碼示例>>Golang>>正文


Golang jlexer.Lexer類代碼示例

本文整理匯總了Golang中github.com/mailru/easyjson/jlexer.Lexer的典型用法代碼示例。如果您正苦於以下問題:Golang Lexer類的具體用法?Golang Lexer怎麽用?Golang Lexer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Lexer類的11個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: UnmarshalFromReader

// UnmarshalFromReader reads all the data in the reader and decodes as JSON into the object.
func UnmarshalFromReader(r io.Reader, v Unmarshaler) error {
	data, err := ioutil.ReadAll(r)
	if err != nil {
		return err
	}
	l := jlexer.Lexer{Data: data}
	v.UnmarshalEasyJSON(&l)
	return l.Error()
}
開發者ID:,項目名稱:,代碼行數:10,代碼來源:

示例2: UnmarshalEasyJSON

// UnmarshalEasyJSON does JSON unmarshaling using easyjson interface.
func (v *Float64) UnmarshalEasyJSON(l *jlexer.Lexer) {
	if l.IsNull() {
		l.Skip()
		*v = Float64{}
	} else {
		v.V = l.Float64()
		v.Defined = true
	}
}
開發者ID:,項目名稱:,代碼行數:10,代碼來源:

示例3: UnmarshalEasyJSON

func (t *DateTime) UnmarshalEasyJSON(in *jlexer.Lexer) {
	if data := in.String(); in.Ok() {
		tt, err := ParseDateTime(data)
		if err != nil {
			in.AddError(err)
			return
		}
		*t = tt
	}
}
開發者ID:Cl0udPhish,項目名稱:go-swagger,代碼行數:10,代碼來源:time.go

示例4: UnmarshalEasyJSON

func (d *Duration) UnmarshalEasyJSON(in *jlexer.Lexer) {
	if data := in.String(); in.Ok() {
		tt, err := ParseDuration(data)
		if err != nil {
			in.AddError(err)
			return
		}
		*d = Duration(tt)
	}
}
開發者ID:Cl0udPhish,項目名稱:go-swagger,代碼行數:10,代碼來源:duration.go

示例5: UnmarshalEasyJSON

func (t *Date) UnmarshalEasyJSON(in *jlexer.Lexer) {
	if data := in.String(); in.Ok() {
		tt, err := time.Parse(RFC3339FullDate, data)
		if err != nil {
			in.AddError(err)
			return
		}
		*t = Date(tt)
	}
}
開發者ID:Cl0udPhish,項目名稱:go-swagger,代碼行數:10,代碼來源:date.go

示例6: UnmarshalEasyJSON

func (b *Base64) UnmarshalEasyJSON(in *jlexer.Lexer) {
	if data := in.String(); in.Ok() {
		enc := base64.StdEncoding
		dbuf := make([]byte, enc.DecodedLen(len(data)))

		n, err := enc.Decode(dbuf, []byte(data))
		if err != nil {
			in.AddError(err)
			return
		}

		*b = dbuf[:n]
	}
}
開發者ID:Cl0udPhish,項目名稱:go-swagger,代碼行數:14,代碼來源:default.go

示例7: UnmarshalJSON

func (b *Base64) UnmarshalJSON(data []byte) error {
	l := jlexer.Lexer{Data: data}
	b.UnmarshalEasyJSON(&l)
	return l.Error()
}
開發者ID:Cl0udPhish,項目名稱:go-swagger,代碼行數:5,代碼來源:default.go

示例8: UnmarshalJSON

func (v *YahooRate) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson_decode_finance_provider_yahoo_YahooRate(&r, v)
	return r.Error()
}
開發者ID:gobwas,項目名稱:kursobot,代碼行數:5,代碼來源:types_easyjson.go

示例9: easyjson_decode_go_serialization_benchmarks_A

func easyjson_decode_go_serialization_benchmarks_A(in *jlexer.Lexer, out *A) {
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "Name":
			out.Name = in.String()
		case "BirthDay":
			if data := in.Raw(); in.Ok() {
				in.AddError((out.BirthDay).UnmarshalJSON(data))
			}
		case "Phone":
			out.Phone = in.String()
		case "Siblings":
			out.Siblings = in.Int()
		case "Spouse":
			out.Spouse = in.Bool()
		case "Money":
			out.Money = in.Float64()
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
}
開發者ID:alecthomas,項目名稱:go_serialization_benchmarks,代碼行數:32,代碼來源:structdef_easyjson.go

示例10: UnmarshalJSON

// MarshalJSON implements a standard json marshaler interface.
func (v *Uint) UnmarshalJSON(data []byte) error {
	l := jlexer.Lexer{}
	v.UnmarshalEasyJSON(&l)
	return l.Error()
}
開發者ID:,項目名稱:,代碼行數:6,代碼來源:

示例11: UnmarshalJSON

func (v *A) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjson_decode_go_serialization_benchmarks_A(&r, v)
	return r.Error()
}
開發者ID:alecthomas,項目名稱:go_serialization_benchmarks,代碼行數:5,代碼來源:structdef_easyjson.go


注:本文中的github.com/mailru/easyjson/jlexer.Lexer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。