java - 将 Amazon IonStruct 转换为 JSONPObject

标签 java spring-boot jackson-databind

我厌倦了在响应对象中发送亚马逊 IonStruct 列表,这是我通过转换 QLDB 的结果得到的。

我尝试发送

final List<IonStruct> documentList = new ArrayList<>();
        result.iterator().forEachRemaining(row -> documentList.add((IonStruct) row));
return new ResponseEntity<>(list, HttpStatus.OK);

但是我得到了错误

*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844
2019-10-19 12:25:10.508  WARN 4059 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Failure while trying to resolve exception [org.springframework.http.converter.HttpMessageNotWritableException]

java.lang.IllegalStateException: Cannot call sendError() after the response has been committed
    at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:472) ~[tomcat-embed-core-9.0.26.jar:9.0.26]
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.sendServerError(DefaultHandlerExceptionResolver.java:550) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpMessageNotWritable(DefaultHandlerExceptionResolver.java:440) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.doResolveException(DefaultHandlerExceptionResolver.java:210) ~[spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1299) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1111) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.1.10.RELEASE.jar:5.1.10.RELEASE] 

最佳答案

final List<JSONPObject> list= new ArrayList<JSONPObject>();
for (IonStruct i:result
                ){list.add(new JSONPObject(i.toPrettyString(),Example.class));

           }
return new ResponseEntity<>(list, HttpStatus.OK);

这段代码对我有用

关于java - 将 Amazon IonStruct 转换为 JSONPObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58461335/

相关文章:

java - Netty 乒乓球与 POJO

java - java 中的 main() 参数

java - 使用 RestTemplate 进行 RESTful 服务测试

java - 使用 Jackson ObjectMapper 反序列化或序列化任何类型的对象并处理异常

kotlin - 在 Kotlin 中通过传递默认值来反序列化非空类型

java - 将文本绘制到像素图上 (LibGDX)

java - java中的清除屏幕选项

java - Netlogo Api Controller - 获取 TableView

java - Hibernate DDL表动态创建

java - 如何使用 @JsonAlias 注释将嵌套值映射到属性?