为什么将ule子json转换为xml转换器仅拾取第一个元素?

 mobiledu2502899727 发布于 2022-12-31 09:56

我正在尝试使用json-to-xml-transformer将json消息转换为xml,但无法找到有关其用法的文档。我不需要任何数据转换,只需将json属性转换为xml标签即可。当我尝试使用转换器时,我得到的只是json中的第一个元素。

输入JSON:

{   
    "site":"mysite", 
    "erpCustno":"123", 
    "shipToState":"PA",
    "shipToZip":"16684",
    "lineInfo": [
        {
            "lineNumber": "10",
            "product": "MAT203"
        }
    ]
}

XML输出:

mysite

流:




    
        
        
    

转换器是否需要映射类,还是可以将JSON直接转换为XML(反之亦然,使用xml-to-json-transformer)?

我正在使用Anypoint Studio 2014年7月并部署到Mule EE 3.5.0。

1 个回答
  • 首先,请记住XML和JSON结构不是1:1兼容的。

    json-to-xml-transformer依靠Staxon的JSON到XML转换。查看它的doc和映射约定,很显然,输入JSON不能无损地转换为XML。

    在您的情况下,JSON根对象的第一个元素用作XML文档的根。您可以通过使用伪造的根对象包装输入JSON来解决此问题:

    {
        “根”: {
            “ site”:“ mysite”,
            “ erpCustno”:“ 123”,
            “ shipToState”:“ PA”,
            “ shipToZip”:“ 16684”,
            “ lineInfo”:[
                {
                    “ lineNumber”:“ 10”,
                    “ product”:“ MAT203”
                }
            ]
        }
    }
    

    但是您可能仍然遇到lineInfo数组中对象的问题。TBF我不确定Staxon会做什么。

    2022-12-31 10:00 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有