Java Xml转换成Json, 对象

it2023-03-18  75

现在有以下的xml文件, 内容如下:

<iso_10303_28_terse xmlns="urn:oid:1.0.10303.238.1.0.1" xmlns:exp="urn:oid:1.0.10303.28.2.1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema="integrated_cnc_schema"> <exp:header> <exp:name>cds_ccat_mod2</exp:name> <exp:time_stamp>2009-02-14T18:11:20-05:00</exp:time_stamp> <exp:author>STEP-NC Maker 3.0</exp:author> <exp:organization/> <exp:preprocessor_version>ST-DEVELOPER v12</exp:preprocessor_version> <exp:originating_system>Various</exp:originating_system> </exp:header> <Product_definition id="id10" Id="" Description="" Formation="id14" Frame_of_reference="id16"/> <Process_product_association id="id11" Name="" Description="" Process="id12"> <Defined_product> <Product_definition ref="id10" xsi:nil="true"/> </Defined_product> </Process_product_association> <Product_definition_process id="id12" Name="machining" Description="" Chosen_method="id52687" Identification=""/> <Machining_project_workpiece_relationship id="id13" Id="" Name="" Description="" Relating_product_definition="id10" Related_product_definition="id4671"/> <Product_definition_formation id="id14" Id="" Description="" Of_product="id15"/> <Machining_project id="id15" Id="New Project" Name="" Frame_of_reference="id18"/> <Product_definition_context id="id16" Name="CNC Machining" Frame_of_reference="id17" Life_cycle_stage="manufacturing"/> <Application_context id="id17" Application="Application protocol for the exchange of CNC data"/> <Product_context id="id18" Name="CNC Machining" Frame_of_reference="id17" Discipline_type="manufacturing"/> <Product_definition id="id19" Id="UNKNOWN" Description="" Formation="id21" Frame_of_reference="id30"/> <Product_definition_shape id="id20" Name="NONE" Description="NONE"> <Definition> <Product_definition ref="id19" xsi:nil="true"/> </Definition> </Product_definition_shape> <Product_definition_formation_with_specified_source id="id21" Id="ANY" Description="" Of_product="id27" Make_or_buy="not_known"/> <Applied_approval_assignment id="id22" Assigned_approval="id4683"> <Items> <Product_definition ref="id19" xsi:nil="true"/> </Items> </Applied_approval_assignment> <Shape_definition_representation id="id23" Used_representation="id24"> <Definition> <Product_definition_shape ref="id20" xsi:nil="true"/> </Definition> </Shape_definition_representation> <Shape_representation id="id24" Name="" Items="id52643" Context_of_items="id35"/> <Shape_representation_relationship id="id25" Name="" Description="" Rep_1="id24" Rep_2="id26"/> </iso_10303_28_terse>

现在要求变成json, 最好能变成对象在java代码中进行使用,

//获取xml文件 InputStream in = new FileInputStream("D:\\mywork\\demo2\\src\\main\\resources\\chengxu.xml"); String xml = IOUtils.toString(in); //把xml变成json JSONObject jsonObject = XML.toJSONObject(xml); //把json变成一个Map Map<String, Object> map = jsonObject.toMap();

这个代码是把整个大的XML变成了一个Map, Map中不断的嵌套, 嵌套的形式和XML中的一致. 比用XML好用, 哈哈哈

本来这个是帮别人写的, 不过最后别人没给钱, 就算了.

依赖的包是:

commons-io-2.4.jar 和 json-20200518.jar

最新回复(0)