精华内容
下载资源
问答
  • 怎么转换为json文件
    千次阅读
    2017-11-29 14:39:48

               在平时经常遇到需要把xml文件转换为json格式数据的需求,这里将实现读取指定目录的xml文件并吧内容转换为json格式然后输出到指定目录。项目采用spring boot项目,下面是实现的主要步骤:


    一,创建一个spring boot项目

          1,创建好spring boot项目,配置pom.xml文件,代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    
    	<groupId>com.szkingdom</groupId>
    	<artifactId>xmltojson</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<packaging>jar</packaging>
    
    	<name>xmltojson</name>
    	<description>Demo project for Spring Boot</description>
    
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.5.9.RELEASE</version>
    		<relativePath/> <!-- lookup parent from repository -->
    	</parent>
    
    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter</artifactId>
    		</dependency>
    
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>fastjson</artifactId>
    			<version>1.2.33</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.json</groupId>
    			<artifactId>json</artifactId>
    			<version>20171018</version>
    		</dependency>
    
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    	</dependencies>
    
    	<build>
    		<finalName>xmltojson</finalName>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    
    
    </project>
    

        上面主要引入一些依赖的jar包,比较简单,就不详细说明了。

       注意:

       如果需要指定jdk打包的版本,修改下面的代码:

    	<properties>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    		<java.version>1.6</java.version>
    	</properties>

       指定java.version为1.6


    2,配置application.

    input.dir.filename=F:\\mystudy\\dd_address.xml
    output.dir.filename=F:\\mystudy\\jack.json
    encoding.format=gb2312

    二,主要代码

    package com.szkingdom;
    
    import org.json.XML;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.w3c.dom.Document;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.StringWriter;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    @SpringBootApplication
    public class XmltojsonApplication implements CommandLineRunner {
    
        //输入文件所在位置
        @Value("${input.dir.filename}")
        private String inputFileName;
        //输出文件所在位置
        @Value("${output.dir.filename}")
        private String outputFileName;
        //xml的编码格式
        @Value("${encoding.format}")
        private String encodingFormat;
    
        public static void main(String[] args) {
            SpringApplication.run(XmltojsonApplication.class, args);
        }
    
        @Override
        public void run(String... strings) throws Exception {
            readXml(inputFileName);
        }
    
        public void readXml(String dir) throws MalformedURLException {
            File f = new File(dir);
            if (!f.exists()) {
                System.out.println("xml文件转换为json文件失败,读取的文件不存在......,请修读取文件配置");
                return;
            }
            URL url = f.toURL();
            System.out.println("读取文件的路径:url = " + url);
            String file = url.getFile();
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            try {
                DocumentBuilder db = dbf.newDocumentBuilder();
                Document doc = db.parse(file);
                String xml = toStringFromDoc(doc);
                //System.out.println(xml);
                xmlToJson(xml);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 把一个xml的document转换为xml字符串
         *
         * @param document
         * @return
         */
        public String toStringFromDoc(Document document) {
            String result = null;
            if (document != null) {
                StringWriter strWtr = new StringWriter();
                StreamResult strResult = new StreamResult(strWtr);
                TransformerFactory tfac = TransformerFactory.newInstance();
                try {
                    javax.xml.transform.Transformer t = tfac.newTransformer();
                    //t.setOutputProperty(OutputKeys.ENCODING, "UTF-16");
                    //t.setOutputProperty(OutputKeys.ENCODING, "gb2312");
                    t.setOutputProperty(OutputKeys.ENCODING, encodingFormat);
                    t.setOutputProperty(OutputKeys.INDENT, "yes");
                    t.setOutputProperty(OutputKeys.METHOD, "xml"); // xml, html,
                    // text
                    t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
                    t.transform(new DOMSource(document.getDocumentElement()), strResult);
                } catch (Exception e) {
                    System.err.println("XML.toString(Document): " + e);
                }
                result = strResult.getWriter().toString();
                try {
                    strWtr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return result;
        }
    
        /**
         * xml字符串转json字符串
         *
         * @param xml
         */
        public void xmlToJson(String xml) {
            /* 第一种方法,使用JSON-JAVA提供的方法 */
            //将xml转为json
            org.json.JSONObject xmlJSONObj = XML.toJSONObject(xml);
            //设置缩进
            String jsonPrettyPrintString = xmlJSONObj.toString(4);
            //输出格式化后的json
            System.out.println(jsonPrettyPrintString);
            //JSONObject jsonObject = (JSONObject) JSONObject.parse(jsonPrettyPrintString);
            //System.out.println("jsonObject:"+jsonObject);
            //outJsonToFile(jsonObject);
            outJsonToFile(jsonPrettyPrintString);
        }
    
        /**
         * 输出json字符串到文件
         *
         * @param jsonObject
         */
        public void outJsonToFile(String jsonObject) {
            byte[] buff = new byte[]{};
            //String jsonStr = jsonObject.toJSONString();
            String jsonStr = jsonObject;
            FileOutputStream out = null;
            File file = new File(outputFileName);
            // 检测是否存在目录,不存在则创建目录
            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs();
            }
            try {
                buff = jsonStr.getBytes();
                //out=new FileOutputStream(outputFileName);
                out = new FileOutputStream(file);
                System.out.println("输出文件目录:" + outputFileName);
                out.write(buff, 0, buff.length);
                System.out.println("输出json数据到文件成功");
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (out != null) {
                    try {
                        out.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    }
    



    使用maven打包项目,使用如下的xmlToJson.bat脚本启动:

    title xmlToJson工具
    f:
    cd F:\mystudy
    java -jar xmltojson.jar --input.dir.filename=F:\\mystudy\\dd_address.xml --output.dir.filename=F:\\mystudy\\dd_address.json --encoding.format=gb2312
    
    pause
    
    ::说明:
    ::第一步,切换到xmltojson.jar包所在的目录
    ::第二部,执行xmltojson.jar包,参数说明:
    ::    input.dir.filename->输入的xml文件所在的目录文件
    ::    output.dir.filename->输出的json文件所在的目录文件
    ::    encoding.format->xml文件的编码和输出的json文件的编码,json文件编码采用的是xml文件的编码,默认gb2312
    ::注意:需要安装好了jdk,配置好了java的环境变量
    
    
    
    
    
    
    
    
    
    


       注意如果需要指定jdk启动,修改bat脚本如下:

    title xmlToJson工具
    f:
    cd F:\mystudy
    F:\mystudy\jdk1.6\bin\java -jar xmltojson.jar --input.dir.filename=F:\\mystudy\\dd_address.xml --output.dir.filename=F:\\mystudy\\dd_address.json --encoding.format=gb2312
    
    pause
    
    ::说明:
    ::第一步,切换到xmltojson.jar包所在的目录
    ::第二部,执行xmltojson.jar包,参数说明:
    ::    input.dir.filename->输入的xml文件所在的目录文件
    ::    output.dir.filename->输出的json文件所在的目录文件
    ::    encoding.format->xml文件的编码和输出的json文件的编码,json文件编码采用的是xml文件的编码,默认gb2312
    ::注意:需要安装好了jdk,配置好了java的环境变量
    
    
    
    
    
    
    
    
    
    


    主要是,F:\mystudy\jdk1.6\bin\java,指定jdk版本执行jar包







    更多相关内容
  • ExceltoJSON 将包含json数据的Excel文件转换为JSON文件
  • 一个将csv文件转换为json文件的shell脚本 在Linux上测试用法(在终端中):./csvtojson.sh input.csv> output_name.json 指示: 下载两个脚本文件 将csv文件复制到包含.sh文件的文件夹中 使用“ host:〜$ sh ...
  • XmlToJson 从 XML 到 Json 文件的 C++ 实用程序,反之亦然
  • 将PCAP转换为Json文件的神器:joy(安装篇)

    万次阅读 多人点赞 2022-06-23 17:41:38
     joy是一个捕获数据包、分析...能够解析pcap包,生成json文件,里面包含了多种网络流量特征,方便对其进行分析。目前最新版本4.5.0。 文章目录 1. 安装难点 2. 搜索文件 3. 使用正则表达式批量替换文件 4. 安装...

      joy是一个捕获数据包、分析网络流量数据、网络研究取证及安全监控的工具。能够解析pcap包,生成json文件,里面包含了多种网络流量特征,方便对其进行分析。目前最新版本为4.5.0。

    1. 安装难点

      官网地址为:https://github.com/cisco/joy。但由于该项目的最后一次更新时间为2019年,其中部分代码依然为Python 2的。所以需要在安装之前将其进行逐个修改为Python 3版本。

    2. 搜索文件

      在GitHub中的搜索框输入print,并点击Python,如下图所示:
    在这里插入图片描述
      上图中对应的等价链接为:https://github.com/cisco/joy/search?l=Python&q=print

      需要修改的Python文件依次如下:

    • analysis/model.py</
    展开全文
  • TSV to JSON 将带有标题行的编号、制表符分隔的记录列表转换为 JSON 文件树。
  • Python将csv文件转换为json文件

    千次阅读 2020-11-30 10:04:48
    importcsvimportjsonjson_file= open('file.json', 'w+', encoding='utf-8')csv_file= open('1501.csv', 'r', encoding='utf-8')#读取文件第一行不读取换行符作为json文件里每个数据的键值keys = csv_file.readline...

    importcsvimportjson

    json_file= open('file.json', 'w+', encoding='utf-8')

    csv_file= open('1501.csv', 'r', encoding='utf-8')#读取文件第一行不读取换行符作为json文件里每个数据的键值

    keys = csv_file.readline().strip('\n').split(',')

    json_file.write('[\n')flag=0whilecsv_file.readline():#字符串列表转化为数字列表

    values = csv_file.readline().strip('\n').split(',')

    values_temp= map(eval, values[0:2])

    values_else=list(values_temp)

    values_else.append(values[2])#用zip()函数将两个列表形成映射关系,创建字典

    dic_temp =dict(zip(keys, values_else))#将字典转化为字符串且带有缩进

    #flag用于判断json文件中 "," 和换行的添加位置

    json_str = json.dumps(dic_temp, indent=4)if flag == 1:

    json_file.write(',\n')

    json_file.write(json_str)

    flag= 1json_file.write(']')

    csv_file.close()

    json_file.close()

    代码解释:

    1、while csv_file.readline:

    循环读取csv文件的每一行,csv_flie为我的csv文件名字

    2、字符串列表转换为数字列表

    我的csv文件中一行数据有三个元素,项目要求数据格式为前两个元素为数字类型,第三个为字符串类型

    3、用open()与readline()实现以行为单位读取文件时,读取出来的数据皆是字符串类型

    json使用write()写文件时,必须先用dumps()将数据转换成字符串再存入。

    4、关于flag

    若是直接在存入每一行之后,write(',\n')写入逗号和换行符则会发现,json的最后一行数据多出来一个逗号,删除很麻烦

    所以,我直接用flag来进行判断。当写入第一行数据之后,在第二行数据写入之前,先写入逗号和换行符,则第二行数据会顺利写入

    5、最重要的一点,我的两个文件都是放在同一个项目的同一个文件夹中,希望大家参考代码时,修改为自己的文件路径。其余内容请阅读代码中的注释。

    json文件样式(部分):

    1855925-20201015103336068-1954091328.png

    展开全文
  • sketch-json 将草图文件转换为json,然后将json转换为草图文件安装$ yarn add sketch-json用法const sketchJson = require ( 'sketch-json' )sketchJson . toJson ( ) . then ( ( ) => console . log ( 'Done!' ) )/...
  • 将Java .properties文件转换为JSON(使用JavaScript)。 函数propertiesToJSON接受一个字符串并返回一个JavaScript对象。 读取node的本地文件: const fs = require ( "fs" ) ; const path = require ( "path" ) ;...
  • 用于 JavaScript 的 CSS-JSON 转换器用于 JavaScript 的 CSS-JSON 转换器将 CSS 转换为 JSON 并返回。 版本 2.1.2 在 MIT 许可下发布。用法 // To JSONvar json = CSSJSON.toJSON(cssString);// To CSSvar css = ...
  • 将 SVG 文件转换为 json 当您使用 Inkscape 创建了一个 SVG 并且需要将它与 d3.js 一起使用时 安装 克隆这个 repo 运行npm install 转换文件 将 SVG 文件放在 svg 文件夹中(已经有一些示例文件) 运行node ...
  • json文件转换工具

    2020-06-14 11:28:28
    用来一次将目录下.json的文件全部转换的脚本,只需将sh文件放在json文件同一目录下,运行即可(附使用说明)。
  • 虽然po2json可以很好地将.po文件转换为.json格式,但是它不允许在另一个方向上进行转换(.json-> .po)。 入门 使用以下命令安装模块: npm install po2json2po -g 用法 将.po转换为.json po2json2po messages.po...
  • 将字典编码成JSON字符串,存入到文本文件中。(利用try、except、esle、finally进行异常处理) 读取该文件,解码JSON数据并输出。 import json movies = {"猫妖传": ["黄轩", "染谷将太", "黄轩"], "无问西东":...

    将字典编码成JSON字符串,存入到文本文件中。(利用try、except、esle、finally进行异常处理)

    读取该文件,解码JSON数据并输出。

    import json
    
    movies = {"猫妖传": ["黄轩", "染谷将太", "黄轩"],
                       "无问西东": ["章子怡", "王力宏", "祖峰"],
                       "超时空同居": ["雷佳音", "佟丽娅", "王力宏"]}
    
    # 将字典编码成JSON字符串存入到文本文件中
    # 文本文件以abc命名,存到和代码同级目录下
    try:
        with open('./abc.txt', 'w') as json_file:
            json_file.write(json.dumps(movies, ensure_ascii=False, indent=4))
    except IOError:
        print("没有找到文件或读取文件失败!")
    else:
        print("内容写入文件成功!")
    finally:
        print("程序执行完毕")
    
    # 读取json文件并输出
    with open('./abc.txt', 'r') as dic:
        dic_str = json.load(dic)
    print("\n读取JSON格式文件的内容并转换为字典:")
    print(dic_str)

    运行结果图 

    展开全文
  • 该资源为图像分割批量转化json文件为mask文件的Python程序,由labelme加工而成,可搭配labelme一起使用。
  • 将草图文件转换为json,然后将json转换为草图文件 安装 $ npm install -g sketch-json-cli 用法 $ sketch-json --help Usage: $ sketch-json Convert sketch file to json $ sketch-json --json Convert json ...
  • 深度学习+pycharm+目标识别
  • python 实现json文件到excel文件的转换的工具 当前目录直接使用 exe可执行程序当前目录放置xxx.json文件,双击执行json to excel.exe,即可在当前目录生成对应的excel 可以批量 望点赞和评论谢谢诶
  • json文件转化图像文件 许多企业使用Excel文件来管理价目表,产品库存,广告设置,财务数据等。 但是,由于网络的普遍性,组织越来越需要在网站上显示此类数据或使用第三方工具对其进行处理。 将Excel数据转换为...
  • 迪里奥dirio是一个 node.js 模块,它将目录结构转换为 json 文件,将 json 文件转换为目录结构。 它提供了带有目标和源参数的简单接口。 还支持使用 javascript 对象而不是 json 文件。安装 $ npm install dirio运行...
  • 文件连接:unity 关于Newtonsoft.Json引用报错问题!!!!(已解决)_小颜不会写...下载完成后,把下载文件.zip文件并解压。解压后在目录:...\newtonsoft.json.13.0.1\lib\netstandard2.0下找到Newtonsoft.Json
  • 本脚本JsonTT-V4用于处理指定格式的json文件,通过读取用户输入的文件路径或者是文件夹路径,将指定的json文件或文件下的所有json文件,转化根据host划分的txt文件。 本版本处理的json文件格式实例: {"host":"205...
  • 大汤匙将各种文件类型转换为JSON,以供。目前支持CSV JSON格式去做GeoJSON 形状文件OSM
  • json2lua 使用lua脚本将json文件转换为lua代码
  • xml文件转换json文件

    千次阅读 2022-01-23 23:05:49
    import json coco = dict() coco['images'] = [] coco['type'] = 'instances' coco['annotations'] = [] coco['categories'] = [] category_set = dict() image_set = set() category_item_id = -1 image_id = ...
  • Excel2Json

    2018-09-18 14:11:09
    基于PYTHON 的 Excel文件转Json文件,支持Json全格式,map和数组多格式混合.
  • Web json2xlsx转换工具说明该工具依据Node的json2xlsx包开发的json文件转换xlxs工具.注意该工具的使用范围极其限定,只能转换2层的内嵌对象.在可以预计的未来也不会提高文件兼容性.目前功能通过命令运行将同目录下...
  • 具有GUI的简单转换器工具(在JavaFX上编写),用于将大型XML文件转换为JSON以及将JSON转换为XML(指示进度),并使用少量内存进行转换。 从1.2.0版开始,应用程序支持按模式从目录批量转换文件。 使用Java 1.8+...
  • yaml2json:将yaml转换为json
  • 主要介绍了Python实现把json格式转换成文本或sql文件,本文直接给出代码实例,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 302,644
精华内容 121,057
关键字:

怎么转换为json文件