XML解析成JSON工具

本文详细介绍了如何将XML数据解析并转换为JSON格式,包括转换的步骤、使用的方法和相关工具,帮助读者理解XML与JSON之间的互换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将XML解析成JSON

package com.weavernorth.xml;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.XML;

import com.weavernorth.file.IOUtil;
/**
 * XMLUTIL
 * @author Dylan
 *
 */
public class XMLUtil {

    /**
     * xml转换json
     * @param xml
     * @return
     * @throws JSONException
     */
    public static JSONObject XML2Json(String xml) throws JSONException{
        JSONObject xmlJSONObj = null;
        try {
            xmlJSONObj = XML.toJSONObject(xml);
        } catch (JSONException e) {
            e.printStackTrace();
        } 
        return xmlJSONObj;
    }


    /**
     * 解析XML
     * @return
     */
    public static JSONArray SAXXml() {
        String readFileByLines = IOUtil.readFileByLines("F:/a.txt");
        JSONArray ja = new JSONArray();

        try {
            JSONObject xml2Json = XML2Json(readFileByLines);
            JSONArray jsonObject = xml2Json.getJSONObject("result").getJSONObject("data").getJSONArray("row");
            for (int i = 0; i < jsonObject.length(); i++) {
                JSONObject jo = new JSONObject();
                JSONObject jsonObject2 = jsonObject.getJSONObject(i);
                JSONArray jsonArray = jsonObject2.getJSONArray("field");
                for (int j = 0; j < jsonArray.length(); j++) {
                    JSONObject jsonObject3 = jsonArray.getJSONObject(j);
                    String key = jsonObject3.getString("name");
                    String val  ="";
                    if(jsonObject3.has("content")){
                        val = jsonObject3.getString("content");
                    }
                    jo.put(key, val);
                    ja.put(jo);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return ja;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值