资源说明:Easyjson用于序列化JSON数据,采用Go语言编写,而不是通过使用反射生成编组代码。一个库的目的之一是使所生成的代码足够简单,使得它可以容易地优化或固定。另一个目标是为用户提供不可定制的“encoding/json”,如产生snake_case名称或启用默认“omitempty“生成代码。用法:go get github.com/mailru/easyjson/...
easyjson -all .go这将利用编组/解组方法结构生成_easyjson.go。限制:The library is at an early stage, there are likely to be some bugs
and some features of 'encoding/json' may not be supported. Please report
such cases, so that they may be fixed sooner.Unsafe package is used by the code. While a non-unsafe version of
easyjson can be made in the future, using unsafe package simplifies a
lot of code by allowing to use 'switch' for filling out structs and
working around limitations of standard functions like
'strconv.ParseInt'.Floats are currently formatted with default precision for 'strconv'
package. It is obvious that it is not always the correct way to handle
it, but there aren't enough use-cases for floats at hand to do anything
better.During parsing, parts of JSON that are skipped over are not
syntactically validated more than required to skip matching parentheses.No true streaming support for encoding/decoding. For many use-cases
and protocols, data length is typically known on input and needs to be
known before sending the data.解析:libjson sizeMB/sallocs/opB/opstandardregular2221810229standardsmall9.714720-------------------------------------------easyjsonregular1251289794easyjsonsmall673128-------------------------------------------ffjsonregular661419985ffjsonsmall17.610488-------------------------------------------codecregular5543419299codecsmall297336-------------------------------------------ujsonregular103N/AN/A编组,one goroutinelibjson sizeMB/sallocs/opB/opstandardregular75923256standardsmall323328standardlarge80171.2M---------------------------------------------easyjsonregular213910260easyjson*regular2638742easyjsonsmall1251128easyjsonlarge21233490keasyjson*large262252879---------------------------------------------ffjsonregular12215321340ffjson**regular1461524897ffjsonsmall365384ffjson**small644128ffjsonlarge1347317818kffjson**large1257320827k---------------------------------------------codecregular801733601codec***regular10891153codecsmall423304codec***small56148codeclarge734832.5Mcodec***large10345166007---------------------------------------------ujsonregular92N/AN/A编组,并发libjson sizeMB/sallocs/opB/opstandardregular252923257standardsmall1243328standardlarge289171.2M----------------------------------------------easyjsonregular792910597easyjson*regular17488779easyjsonsmall3331128easyjsonlarge71836548keasyjson*large2134254957---------------------------------------------ffjsonregular30115321629ffjson**regular7071525148ffjsonsmall625384ffjson**small2824128ffjsonlarge43873301.0Mffjson**large1317319820k---------------------------------------------codecregular1831733603codec***regular67191157codecsmall1473304codec***small299148codeclarge1904832.5Mcodec***large75245177574
标签:Easyjson
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。