Gson JSON输出在转换后的字段名中包含空格

Gson JSON输出在转换后的字段名中包含空格,json,spring-mvc,gson,Json,Spring Mvc,Gson,我有一个不寻常的情况。编码输出包含json,每个字符之间有空格 { " f o r m " : { " s a m p l e F i e l d " : " s a m p l e v a l u e " } } 我们有一个SpringMVC应用程序和 向我们的一个控制器执行POST请求。POST请求中的字段由请求参数填充到POJO中。从我们的日志中可以看出,字母之间没有空格。。我们将POJO直接传递给服务类中的Gson共享实例(许多请求和quartz后台线程使用此实例)。Gson转换器变量

我有一个不寻常的情况。编码输出包含json,每个字符之间有空格

{ " f o r m " : { " s a m p l e F i e l d " : " s a m p l e v a l u e " } }
我们有一个SpringMVC应用程序和 向我们的一个控制器执行POST请求。POST请求中的字段由请求参数填充到POJO中。从我们的日志中可以看出,字母之间没有空格。。我们将POJO直接传递给服务类中的Gson共享实例(许多请求和quartz后台线程使用此实例)。Gson转换器变量实例化如下

Gson gsonMaker = new GsonBuilder().setDateFormat("MM dd, yyyy").create();
这是一个非常随机的请求指针(100分之一)。 我们将JSON输出存储在Oracle11g数据库中。 从我在其他帖子&谷歌上的阅读来看,Gson似乎是线程安全的


请提供帮助。

经过大量分析,发现问题在于ojdbc6驱动程序jar。事实证明,驱动程序的CLOB字段有问题,并且只有8000个字符出现问题。 重现此问题的顺序如下所示

  • 使用CLOB列在Oracle中创建数据库表
  • 将8000个字符精确写入一个字符串
  • 将字符串数据插入CLOB字段
  • 使用resultset.getString(“CLOB_字段”)读取插入的数据
  • 在步骤4中读取的数据现在将具有与NUL(\u0000)字符交错的字符
  • 我们使用hibernate的DAL获取CLOB数据并将其再次保存到DB中。将8000个字符重新写入数据库引发了一种混乱,认为这可能是由于Gson造成的

    有几个问题我正试图找到答案

  • 如果Hibernate实体用@Lob(保存CLOB数据)注释,为什么Hibernate仍然选择将其作为字符串读取,从而导致读取数据损坏?。hibernate不应该处理这个吗
  • 这个问题很少见,在本帖中已经讨论过,但我没有在最新的驱动程序中发现任何关于修复的内容(我还没有对最新的驱动程序进行测试)
  • 希望大家觉得这个帖子有用