ffjson

更快捷式 JSON 序列操作
授权协议 Apache
开发语言 Google Go
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 不详
投 递 者 王航
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ffjson 为 Go 结构产生 MarshalJSON 和 UnmarshalJSON 功能。新生成的功能,减轻了进行序列化时对运行反射的依赖,速度比之前更快2至3倍。在 ffjson 不能识别涉及类型的情况下,它会回退到  encoding/json,这意味着 ffjson 是安全替代原件。通过使用 ffjson,您的 JSON 序列化只会越来越快,因为没有额外代码更改。

当你改变 struct 时,你需要重新运行 ffjson (或将它作为编译工具的一部分)。

入门:

如果 myfile.go 包含结构类型,你想要更快,假设 GOPATH 被设置为现有项目(这意味着在这个特殊的例子,如果 myfile.go 是在 MyProject 目录的一个合理值,该项应在$GOPATH/src/myproject),你可以运行:

go get -u github.com/pquerna/ffjson
ffjson myfile.go
git add myfile_ffjson.go

性能:

  • MarshalJSON is 2x to 3x faster than encoding/json.

  • UnmarshalJSON is 2x to 3x faster than encoding/json.

特点:

  • 支持解组(Unmarshal Support):从 v0.9版本之后,开始支持散集结构。

  • 直接替代原件(Drop in Replacement):因 ffjson 执行的接口已被 encoding/json 定义,用户使用的性能增强。

  • 支持所有类型:ffjson 适用于大多数 Go 的类型——有任何类型路径不支持的话,他将自动会退到 encoding/json,这意味着所有的工作都要在 box 外工作,如果不是,打开一个issue 。

  • ffjson 跳跃:如果你想 ffjson 忽略一个结构,添加 ffjson ,跳过你想忽略的部分,然后重新串连。

  • 拓展测试:包含广泛的测试套件,适合与 JSON parser 相对的模糊测试。

 相关资料
  • These are the default shortcuts for LiteIDE. Note that you can customize these in "View > Options > LiteApp > Keyboard". Standard New Ctrl+N Open Ctrl+O Save Ctrl+S Close Ctrl+W Full Screen Ctrl+Shift

  • 关于快捷方式 您可以仅使用键盘导航Eclipse用户界面 - 使用与菜单和菜单项关联的助记符。 使用与对话框或视图或编辑器中的控件关联的助记符。 使用与工具栏上的菜单项和按钮等操作关联的加速器。 可以通过单击Ctrl + Shift + L调用的“键辅助”操作向我们显示Eclipse中可用的所有加速键或快捷键。 可以使用“键”首选项页面更改分配给操作的组合键。 Eclipse中有许多命令或操作,没

  • 快捷方式是用于执行一组活动的键的组合。 您可以在Keymaps指南参考中找到PyCharm快捷方式列表。 寻找捷径 快捷方式列表位于以下选项“ Help -》 Find Action菜单中,其中弹出一个快捷方式窗口。 您可以看到如下所示的快捷方式窗口 - 快捷方式包括标识符列表,带功能的快捷方式和选项菜单栏。例如,视图导航栏包括切换ON和OFF,根据值设置(ON和OFF)显示导航栏。

  • target String - 从这个快捷方式启动的目标。 cwd String(可选) - 工作目录。默认值为空。 args String(可选) - 从此快捷方式启动时应用于`target'的参数。默认值为空。 description String(可选) - 快捷方式的描述。默认值为空。 icon String(可选) - 图标的路径,可以是DLL或EXE。 icon和iconIndex必须

  • 我的代码像: 我的需求用户如果没有登录就不能访问快捷键,所以在OnSignIn中我放了两个方法set shortcut(101);和check shortcut();但是在上面的代码中,登录后,我不能获得快捷方式事件,所以有什么想法我可以解决它吗?

  • 本文向大家介绍vim 插入模式快捷方式,包括了vim 插入模式快捷方式的使用技巧和注意事项,需要的朋友参考一下 示例 命令 描述 <C-w> 删除光标前的单词 <C-t> 用1缩进当前行 shiftwidth <C-d> 当前行缩进一个 shiftwidth <C-f> 重新缩进该行,(将光标移至自动缩进位置) <C-a> 插入先前插入的文字 <C-e> 在下面插入字符 <C-h> 向后删除一个字