You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中使用org.json包实现JSON转XML时如何保持元素顺序一致

问题根源

你使用的org.json库中,默认构造的JSONObject底层基于无序的HashMap存储键值对,解析JSON字符串时会直接丢失原始键的插入顺序,因此转换生成XML时元素顺序会发生偏移。

解决方案

你使用的20210307版本的org.json已经原生支持有序解析,只需要修改JSONObject的构造方式即可,不需要更换依赖:

public String convertToXml(String json) throws JSONException {
    // 构造方法第二个参数keepOrder传true,底层会使用LinkedHashMap保持键的插入顺序
    JSONObject jsonObject = new JSONObject(json, true);
    String xml = XML.toString(jsonObject);
    return xml;
}

修改后重新测试,转换生成的XML元素顺序就会和原JSON的键顺序完全一致,嵌套对象内部的键顺序也会同步保留。

补充说明

如果后续有更复杂的XML转换需求(比如自定义根节点、属性映射等),也可以切换为Jackson的XML序列化组件实现,不过当前场景下仅需修改一行代码即可解决问题。

内容的提问来源于stack exchange,提问作者lewis machilika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 12:48:02