在java中构建JSON字符串的最快方法是什么?

时间:2014-11-14 21:10:43

标签: java json

我第一次在服务器上使用JSON。我试图创建一个如下所示的对象:

{
  columnData : {
    column1 : {"foo": "bar", "value" : 1 },
  },
  rowData : {
    row1 : {"type" : "integer",  "value" : 1},
  }
}

基本上,它是一个两级JSON对象,我在其中获得了顶级的所有对象。第二级的所有内容都是字符串,整数或浮点数。我已经找到了几种创建这个JSON字符串的方法:

  • 直接构建字符串

我可以一次通过一行并建立一个巨大的字符串。这看起来很笨拙。

  • 使用gson

我可以构建一个具有我想要的JSON结构的map(或类?),然后使用gson转换为JSON字符串。

  • 使用JsonObject

这就像this question.一样,我刚刚找到了这个例子,我喜欢使用JSON看起来很简单,但是我不确定它是否比一个更好的方式去其他选择。

我对Java很新,所以我不确定这些方法的性能权衡是什么。我知道,当用户在webapp中滚动表格时,我很快就会很快将这种方法调用到客户端,所以我希望所有内容都尽可能快。什么是构建JSON字符串的最快捷方式,然后我将其发送回客户端?

1 个答案:

答案 0 :(得分:1)

取决于"最快"手段。快速发展或快速发展。

dev上最快的是使用库将现有数据结构直接序列化为JSON。使用以下库。

http://flexjson.sourceforge.net

性能明智的比较它匹配杰克逊并在某些情况下击败并摧毁gson。但这意味着你将直接序列化你的数据结构,而不是手工映射它们与JSONObject或类似的东西。

您可以通过手动使用JSONObject并将数据结构映射到它来获得更快的事务/秒。您可能会获得更好的性能,但之后您可能没有,因为您必须新建JSONObject并将数据转换为它。然后允许JSONObject渲染。你能比编写序列库更好地编写手写代码吗?也许,也许不是。