如何在jackson json反序列化中跳过包装器对象
我正在尝试使用杰克逊进行以下字符串. { "roomName": "u8ec29p0j7q2m9f", "broadcastPresenceRoles": { "broadcastPresenceRole": [ "moderator", "participant", "visitor" ] }, "owners": { "owner": "anewuser@shahanshah" }, "admins": { "admin": "sanjeet@shahanshah" }, "members": null, "outcasts": { "outcast": [ "sawan@shahanshah", "sus@shahanshah" ] }, "ownerGroups": { "ownerGroup": "Friends"
0 2024-02-05
编程技术问答社区
有杰克逊的动态根元素
我目前正在从事一个项目,该项目处理(出于遗产原因)必须具有代表其类型的标签名称. 基本上我有: @JsonRootName("node") class NodeDocument { private String type; } 输出类似的内容: 但是预期的是: @JsonRootName似乎在方法或属性上不可用. 即使有SerializationConfig.withRooName()或自定义序列化器,我似乎也找不到一种方法来定义用存储在对象本身中的动态值的根名. 解决方案 我假设NodeDocument包含不仅仅是一个属性.在这种情况下,您需要与BeanSerializerModifier一起实现自定义Serialiser,这使您可以序列化所有属性.下面的代码显示完整的解决方案: import com.fasterxml
4 2023-12-23
编程技术问答社区
Jackson xml 2.9.0: @JacksonXmlElementWrapper不能与@JsonCreator和@JsonProperty构造器一起工作
我希望我的ParentClass有final字段,'BrokendildList'列表是包装XML元素,列表项目的标签与列表不同(). 这是一个代码段,可以重现我的问题(导入部分被截断,省略了和getters) ) import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElement
2 2023-12-22
编程技术问答社区
我应该如何配置Jackson,使其在列表项上使用@XmlRootElement生成XML?
i具有使用通用名称而不是我配置@XmlRootElement或@JacksonXmlRootElement的名称的A Spring-MVC @RestController.我希望XML看起来像这样: John 但我得到以下内容: John 正确编组单个实例看起来像这样: John 为了解决这个问题,我尝试使用Jackson和JAXB注释.我还在堆栈溢出,各种博客上进行了广泛的搜索,并针对Jackson和Spring-mvc. import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotati
2 2023-12-22
编程技术问答社区
杰克逊XML无法挑选列表
我尝试像这样解析XML: fun main() { val kotlinXmlMapper = XmlMapper(JacksonXmlModule().apply { setDefaultUseWrapper(false) }).registerKotlinModule() .configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true) .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) val value: Feed = kotlinXmlMapper.readValue(""" Test-1 Tes
4 2023-12-22
编程技术问答社区
JAXB/Jackson:没有父标记的两个元素的序列
更新:寻找杰克逊 或 jaxb解决方案. 在研究了杰克逊的行为后,我发现杰克逊将始终将包装纸用于收藏.因此,我可能不可能与杰克逊(Jackson)一起做.因此,将jaxb添加到标题中. 原始问题 我需要创建pojo以遵循XML模式. ... ... n times 我尝试关注波约斯.但是这些不是产生所需的结果. class AB { @JacksonXmlProperty(localName = "A") private String A; @JacksonXmlProperty(localName = "B") private String B; } @JacksonXmlRootElement(localName = "ABWrap") class ABWrap {
2 2023-12-22
编程技术问答社区
使用杰克逊库将Java地图覆盖到XML中
如何使用Jackson将Java Map转换为XML? 版本: 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.8' 代码: import com.fasterxml.jackson.dataformat.xml.XmlMapper; public class MainApp { public static void main(String[] args) throws JsonProcessingException { Map map = new HashMap(); map.put("key1", "value1"); map.put("key2", "value2"); Application app = new Application(
4 2023-12-21
编程技术问答社区
使用jackson-dataformat-xml自定义根元素进行XML反序列化?
因此,我正在使用杰克逊(Jackson)进行 JSON序列化/挑战现在,现在我还试图将其用于 xml serialization/delelialization 使用它的jackson-dataformat-xml-2.3.0.jar. 我已经使用过 objectmapper.reader(Student.class).withRootName("prefix:student").readValue(jsonString) 将我的JSON(具有前缀具有root名称)的Student类别化. 现在,我正在尝试将我的XML字符串(具有前缀的root Name)对Student>: xml: Jack Jones 1 我的pojo: @XmlAccessorType(XmlAccessType.FIELD
2 2023-12-21
编程技术问答社区
防止Jackson的XML映射器将wstxns加入命名空间中
将对象序列化到XML并使用 @JacksonXmlRootElement(namespace = "http://...") 杰克逊会将``wstxns1'都将其附加或预先添加到命名空间.例如,说我们有以下课程: vtexskuattributevalues.java @JacksonXmlRootElement(localName = "listStockKeepingUnitName") public class VtexSkuAttributeValues { @JacksonXmlProperty(localName = "StockKeepingUnitFieldNameDTO", namespace = "http://schemas.datacontract.org/2004/07/Vtex.Commerce.WebApps.AdminWcfService.Contracts") @JacksonXmlElementWrapper(useWra
0 2023-12-21
编程技术问答社区
Swagger-UI不使用自定义XML ObjectMapper
我正在研究一个应该启用Swagger-UI的Spring Boot应用程序. 访问 http://localhost:8080/swagger-ui.html : "无法推断基础网址... 附加, http://localhost:8080/v2/api-docs 显示: 第1列第1行上的错误:文档为空 此页面的源代码是JSON,但请求作为Content-Type应用程序/XHTML+XML; CharSet = UTF-8 原因似乎是我的自定义杰克逊配置: @Configuration public class JacksonConfig { @Bean public MappingJackson2XmlHttpMessageConverter mappingJackson2XmlHttpMessageConverter() { return new MappingJackson2XmlHttpMessageConverter(objectMapper())
6 2023-10-06
编程技术问答社区
Spring引导方式到marshall/demarshall XML
自动Marshall/demarshall XML的"靴子美丽"方法是什么? 我的休息控制器: @RestController @Slf4j public class ProvisioningController { @RequestMapping(value = "/provisioning", method = RequestMethod.POST, consumes = MediaType.APPLICATION_XML) public void handleRequest(@RequestBody ProvisioningRequest request) { log.info("Rx request: {}", request); } } jaxb从XSD生成了ProvisioningRequest类. 将示例请求发布到其余端点给出以下错误: java.lang.Ille
10 2023-09-15
编程技术问答社区
SpringBoot Webflux 无法返回 application/xml
在我的反应性REST API中,我正在尝试返回XML响应.但是,我总是得到JSON,即406 NOT_ACCEPTABLE.知道为什么? @RestController @RequestMapping(path = "/xml", produces = APPLICATION_XML_VALUE) public class RestApi { @GetMapping(path = "/get") public Publisher get() { return Mono.just(ResponseEntity.ok().contentType(APPLICATION_XML).body(new Datta("test"))); } @PostMapping(path = "/post", consumes = APPLICATION_XML_VALUE) public Publisher
6 2023-09-15
编程技术问答社区
如何在添加了jackson-dataformat-xml的情况下将默认的MessageConverter设置为JSON?
我有一个使用JSON用作交换数据格式的弹簧启动应用程序.现在,我不得不添加仅在XML中发送数据的服务.我在POM中添加了jackson-dataformat-xml,它效果很好. @Service public class TemplateService { private final RestTemplate restTemplate; private final String serviceUri; public TemplateService (RestTemplate restTemplate, @Value("${service.url_templates}") String serviceUri) { this.restTemplate = restTemplate; this.serviceUri = serviceUri; } public boolean createTemplate(T
12 2023-09-12
编程技术问答社区
淘宝网上卖的是什么?用自定义的序列化器和反序列化器消费和生产XML
我有: 的Springboot服务 模型 public class Payload { private final String id; public Payload(String id){ this.id = id; } public String getId() { return this.id; } } 控制器 @RestController @RequestMapping("/payload") public class PayloadController { @RequestMapping(method = RequestMethod.POST) public Payload post(@RequestBody final Payload payload) { return payload; } } 我需要此控制器能够处理JSON&XML
8 2023-09-12
编程技术问答社区
如何用XmlMapper反序列化的方式进行注入
我正在使用XmlMapper com.fasterxml.jackson.dataformat.xml. 我正在序列化的类具有未序列化的Autowired成员. 我希望能够将XML估算为一个实例,并使自动化成员变量填充Spring . 有办法做到这一点吗? 解决方案 ObjectMapper有class InjectBean { private int key = ThreadLocalRandom.current().nextInt(); @Override public String toString() { return "key => " + key; } } POJO我们想从XML中进行挑选的课程可能看起来像以下内容: class Pojo { private String name; private InjectBean dependency; // getters, setters, toString } 现在,
12 2023-09-11
编程技术问答社区
获取Jackson XMLMapper以读取根元素名称
当值序列化时,我如何让杰克逊的XMLMAPPER读取root XML元素的名称? 我将输入XML供应到通用Java类,LinkedHashMap,然后再与JSON.我想动态读取对链接的输入xml的根元素. . 代码 XmlMapper xmlMapper = new XmlMapper(); Map entries = xmlMapper.readValue(new File("source.xml"), LinkedHashMap.class); ObjectMapper jsonMapper = new ObjectMapper(); String json = jsonMapper.writer().writeValueAsString(entries); System.out.println(json); 输入XML 1
118 2023-06-05
编程技术问答社区
在json字符串中包含数组的json xml转换器
我需要将JSON转换为XML,后来将JSON转换回XML,但是在此转换时,我正在丢失JSON数组对象 - 我正在使用org.json lib. JSON字符串 - { "readResult": { "errors": [{ "code": 400 }] } } 代码库 - 使用org.json lib String xml = XML.toString(new JSONObject("inputjsonstring")); String json = XML.toJSONObject(xml).toString(); 输出XML和JSON - XML - 400 JSON - { "readResult": { "errors": {
32 2023-02-19
编程技术问答社区