什么';用java构建JSON字符串的最快方法是什么?

什么';用java构建JSON字符串的最快方法是什么?,java,json,Java,Json,我第一次在服务器上使用JSON。我正在尝试创建一个如下所示的对象: { columnData : { column1 : {"foo": "bar", "value" : 1 }, }, rowData : { row1 : {"type" : "integer", "value" : 1}, } } 本质上,它是一个两级JSON对象,其中所有对象都位于顶层。第二级上的所有内容都是字符串、整数或浮点。我找到了几种创建此JSON字符串的方法: 直接构建字符串

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

{
  columnData : {
    column1 : {"foo": "bar", "value" : 1 },
  },
  rowData : {
    row1 : {"type" : "integer",  "value" : 1},
  }
}
本质上,它是一个两级JSON对象,其中所有对象都位于顶层。第二级上的所有内容都是字符串、整数或浮点。我找到了几种创建此JSON字符串的方法:

  • 直接构建字符串
我可以一次穿过一条线,然后竖起一根巨大的绳子。这似乎很笨拙

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

  • 使用JsonObject
这就像我刚刚发现的那个例子一样,我喜欢使用JSON看起来有多么简单,但我不确定这是否比其他选项更好

我对Java非常陌生,所以我不确定这些方法的性能权衡是什么。我知道,当用户在webapp中滚动表格时,我可能会多次非常快速地调用此方法以将数据加载到客户端,所以我希望一切都尽可能快。构建JSON字符串并将其发送回客户端的最快方法是什么?

取决于“最快”的含义。快速发展或在性能方面快速

开发人员最快的方法是使用库将现有数据结构直接序列化为JSON。使用以下库

性能方面的比较它在某些情况下匹配Jackson和beats,并破坏gson。但这意味着您将直接序列化数据结构,而不是手动使用JSONObject之类的工具映射它们


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

可能的重复只是为了给大家一个视角:在您的设计中,选择一个您认为最容易编码和调试的。如果您正在构建GUI应用程序,JSON转换不太可能成为性能瓶颈。@hagubear:这些问题的答案都建议使用JSONObject和gson作为实现方法。哪种方式最快?编码最快还是执行最快?编写代码最快的方法是使用现有库(即gson)——现在,执行最快的方法是尝试在任何可以编写代码的程序和其他(现有)库之间进行速度比较。我的目标是执行最快的程序,尽管我真的不想在优化上花费太多时间,因为正如Chris所说,这可能不会成为代码中的瓶颈。