当前位置: 首页 > 知识库问答 >
问题:

使用响应实体的动态JSON对象-Spring

琴元凯
2023-03-14

我使用Spring的return ResponseEntity来返回HTTP响应。

当在实体中传递POJO或MAP时,它将其转换为JSON对象。喜欢

  return new ResponseEntity<Object>(result, HttpStatus.OK);

结果可能是 POJO 类(获取器和二次生成器)

我正在用

 <bean id="jsonMessageConverter" class="org.springframework.http.converter.json.GsonHttpMessageConverter ">
</bean>

现在我想要的是,我将在请求中获得响应字段列表。我只想仅使用这些字段响应请求。

对于Ex,如果我收到的响应字段为name, id。那么对象必须只包含这两个。

 {
 "name":"test",
 "id":15
 }

我不能使用@jsonignore或@explore注释。因为我希望JSON可以通过编码动态完成。

可以通过覆盖 GSON 转换器方法或使用 AOP。

有没有办法配置jackson的适配器以基于字段创建对象。

共有1个答案

柳灿
2023-03-14

如果你可以切换到jackson,也许你可以使用我写的这个小扩展来实现这个目的:

https://github.com/Antibrumm/jackson-antpathfilter

 类似资料:
  • 我使用的是Spring版本4(Spring data),我想将Object作为JSON返回,我想知道以下代码即使不使用xmlRootElement注释用户类也能工作: 任何机构都可以解释吗?当我需要注释要返回为JSON的对象类时,响应体/响应实体是否自己完成工作?

  • 我面临一个问题,有时Json响应返回一个对象数组,有时是对象本身,我们如何在响应类中动态处理。在当前的eg:结果有时会得到一个对象数组 有时对象本身 例如: 我们如何处理这件事? 请协助... 有没有人能给点建议用不同的罐子来实现这个?

  • 这可能是一个奇怪的问题,尽管我想知道为什么以前没有人提出过这个问题。。。因此,如果有任何无知,请纠正我。 首先,我将Jackson与Spring和@ResponseBody注释结合使用。目前,对于每个请求处理程序,我都返回一个“Response”包装器对象,这是客户机所期望的。这个包装非常简单: 问题是,我不喜欢显式地包装所有请求处理程序的每个返回值。我也不喜欢在单元测试中打开这些响应包装。 相反

  • 问题内容: 我正在解析JSON,并且遇到一种结构可能具有三种形式之一的困难。在我的情况下,它可以是零维,一维或二维。有什么方法可以即时检查JSON以确定它是哪一个?或者,无论如何都要消耗掉它,然后算出它到底是什么。 这些结构看起来像这样,可以嵌入其他结构中。 我可能正在寻找的是Jackson总是会匹配的通用类。 诸如翻译之类的东西: 进入: 我是否可以定义一个可以作为任何JSON结构或数组的通用接

  • 我正在解析JSON,对于一个可以具有三种形式之一的结构感到困难。在我的例子中,它可以是零维、一维或二维的。有什么方法可以让我动态地检查JSON来确定它是哪一个吗?或者无论如何都要把它消耗掉,然后再弄清楚它是什么。 是否有一个类可以定义为任何JSON结构或数组的通用接收者?

  • 问题内容: 我有一个带有JSON响应的网络查询: 我将以下代码用于: 在调试器中,Retrofit库进行的查询是正确的,但是作为响应,我得到了一个空的JSON。 问题答案: 代替使用JSONObject类进行回调,您可以使用Retrofit基本回调,该基本回调使用Response类,然后,一旦获得响应,就必须从中创建JSONObject。 否则,您可以创建自己的模型类来处理响应。 首先是Resul