Java Xml转换成Json, 对象

た 入场券 2022-12-16 13:09 345阅读 0赞

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

  1. <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"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schema="integrated_cnc_schema">
  3. <exp:header>
  4. <exp:name>cds_ccat_mod2</exp:name>
  5. <exp:time_stamp>2009-02-14T18:11:20-05:00</exp:time_stamp>
  6. <exp:author>STEP-NC Maker 3.0</exp:author>
  7. <exp:organization/>
  8. <exp:preprocessor_version>ST-DEVELOPER v12</exp:preprocessor_version>
  9. <exp:originating_system>Various</exp:originating_system>
  10. </exp:header>
  11. <Product_definition id="id10" Id="" Description="" Formation="id14" Frame_of_reference="id16"/>
  12. <Process_product_association id="id11" Name="" Description="" Process="id12">
  13. <Defined_product>
  14. <Product_definition ref="id10" xsi:nil="true"/>
  15. </Defined_product>
  16. </Process_product_association>
  17. <Product_definition_process id="id12" Name="machining" Description="" Chosen_method="id52687" Identification=""/>
  18. <Machining_project_workpiece_relationship id="id13" Id="" Name="" Description="" Relating_product_definition="id10"
  19. Related_product_definition="id4671"/>
  20. <Product_definition_formation id="id14" Id="" Description="" Of_product="id15"/>
  21. <Machining_project id="id15" Id="New Project" Name="" Frame_of_reference="id18"/>
  22. <Product_definition_context id="id16" Name="CNC Machining" Frame_of_reference="id17"
  23. Life_cycle_stage="manufacturing"/>
  24. <Application_context id="id17" Application="Application protocol for the exchange of CNC data"/>
  25. <Product_context id="id18" Name="CNC Machining" Frame_of_reference="id17" Discipline_type="manufacturing"/>
  26. <Product_definition id="id19" Id="UNKNOWN" Description="" Formation="id21" Frame_of_reference="id30"/>
  27. <Product_definition_shape id="id20" Name="NONE" Description="NONE">
  28. <Definition>
  29. <Product_definition ref="id19" xsi:nil="true"/>
  30. </Definition>
  31. </Product_definition_shape>
  32. <Product_definition_formation_with_specified_source id="id21" Id="ANY" Description="" Of_product="id27"
  33. Make_or_buy="not_known"/>
  34. <Applied_approval_assignment id="id22" Assigned_approval="id4683">
  35. <Items>
  36. <Product_definition ref="id19" xsi:nil="true"/>
  37. </Items>
  38. </Applied_approval_assignment>
  39. <Shape_definition_representation id="id23" Used_representation="id24">
  40. <Definition>
  41. <Product_definition_shape ref="id20" xsi:nil="true"/>
  42. </Definition>
  43. </Shape_definition_representation>
  44. <Shape_representation id="id24" Name="" Items="id52643" Context_of_items="id35"/>
  45. <Shape_representation_relationship id="id25" Name="" Description="" Rep_1="id24" Rep_2="id26"/>
  46. </iso_10303_28_terse>

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

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

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

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

依赖的包是:

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

发表评论

表情:
评论列表 (有 0 条评论,345人围观)

还没有评论,来说两句吧...

相关阅读