Android xml格式和json格式互相转换

49 篇文章 0 订阅
47 篇文章 0 订阅

1、项目的build.gradle添加 maven { url “https://jitpack.io” }

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }		// add this line
    }
}

2、app 的build.gradle添加

 implementation 'com.github.smart-fun:XmlToJson:1.4.5'    // add this line

3、xml转json使用:
目录结构

a、转换assets文件夹下面的student_xml.xml文件中的xml格式数据成json数据

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><student><name>cherry</name><id>1</id><age>666</age><desc><state>777</state><items><isTure>ture</isTure></items></desc></student>
   public String xml2Json(String fileName) throws IOException {
        AssetManager manager = getResources().getAssets();
        InputStream input = manager.open(fileName);
        int length = input.available();
        byte[] bytes = new byte[length];
        input.read(bytes);
        XmlToJson xmlToJson = new XmlToJson.Builder(new String(bytes)).build();
        System.out.println("正常json数据:\n" + xmlToJson.toString());
        System.out.println("格式化json数据:\n" + xmlToJson.toFormattedString());
        System.out.println("\n" + xmlToJson.toFormattedString("\t"));//要使用的缩进,例如“”或“\ t”。
        return "xml2Json----------------End";
    }

b、转换assets文件夹下面的student_json.json文件中的json格式数据成xml数据

{"student":{"name":"cherry","id":1,"age":666,"desc":{"state":777,"items":{"isTure":"ture"}}}}
 public String json2Xml(String fileName)throws IOException {
        AssetManager manager = getResources().getAssets();
        InputStream input = manager.open(fileName);
        int length = input.available();
        byte[] bytes = new byte[length];
        input.read(bytes);
        JsonToXml jsonToXml = new JsonToXml.Builder(new String(bytes)).build();
       String xmlString = jsonToXml.toString();
        System.out.println("正常xml数据:\n" + xmlString);
        return "json2Xml------------------End";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值