java json 压缩_Json压缩工具(示例代码)

该博客介绍了一个使用Java编写的JSON压缩工具,通过删除空格和注释来减小文件占用的内存。工具通过Eclipse生成可执行jar,然后用Python调用jar进行操作。主要步骤包括读取原json文件,压缩内容并写入新文件,同时提供了相关Java代码示例。
摘要由CSDN通过智能技术生成

一般的json文件拥有很多的空格和注释,虽然读起来比较方便,但是在运行的时候是要占一些内存的。

于是json压缩工具就应运而生了,这个工具是用java做的,原理是:

1:在Eclipse中导出一个可运行的jar文件

2:用python运行这个jar文件,并向这个jar文件的运行程序传一些main方法的参数(一般只传路径就可以了)

//bat文件的代码如下:

set assetsAPath="..javaOutputassetsuijson" 原json文件路径

set assetsBPath="..javaOutputassetsuijson\"  压缩后的json文件路径

set targetJar="JSONMinify.jar"

cd ./lang

java -jar lib/JSONMinify.jar

cd ..

cd ./tools

java -jar %targetJar% resVersion=%resVersion% assetsAPath=%assetsAPath% assetsBPath=%assetsBPath%

pause

//java代码如下

package com.pack;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import com.zhaohe.download.ResourceDownloader;

public class JSONMinify {

static ArrayList fileName;

public static void main(String[] args) throws Exception {

initArgs(args);

String fileData1 = assetsAPath;

String fileDatas2 = assetsBPath;

fileName = new ArrayList();

File folder = new File(fileDatas2);

List filesPath = getAllFile(fileData1, false);

System.err.println(getAllFile(fileData1, false).size());

System.err.println(fileData1);

for (int i = 0; i < getAllFile(fileData1, false).size(); i++) {

System.err.println(filesPath.get(i));

File file = new File(filesPath.get(i));// 需要读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中可以使用 Json 和 Base64 库来进行解压缩操作。 首先,需要引入相应的库: ```java import org.json.JSONObject; import java.util.Base64; import java.io.ByteArrayOutputStream; import java.io.IOException; + import java.io.OutputStream; ``` 然后,可以使用以下代码压缩Json 字符串解析为 Json 对象并解码 Base64 数据: ```java public class Main { public static void main(String[] args) { String compressedJsonString = "eyJjb21wcmVzcyI6eyJpZCI6MSwibmFtZSI6IkpvaG4gRG9lIn19"; try { // 解码 Base64 数据 byte[] compressedData = Base64.getDecoder().decode(compressedJsonString); // 解压缩 byte[] decompressedData = decompress(compressedData); // 转换为字符串 String jsonString = new String(decompressedData, "UTF-8"); // 解析为 JSON 对象 JSONObject json = new JSONObject(jsonString); // 输出解析后的 JSON 对象 System.out.println(json.toString()); } catch (Exception e) { e.printStackTrace(); } } // 解压缩方法 public static byte[] decompress(byte[] compressedData) throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); OutputStream out = new InflaterOutputStream(baos); out.write(compressedData); out.close(); return baos.toByteArray(); } } ``` 上述代码将通过 Base64 解码压缩Json 字符串,然后使用解压缩方法对压缩数据进行解压缩。最后转换为字符串,并解析为 JSON 对象。可以根据实际情况进行相应的修改和适配。 注意:解压缩操作需要引入 java.util.zip.InflaterOutputStream,因此在代码中需要加入相应的引入语句。 以上就是使用 Java 进行 Json 数据的 Base64 解压缩操作的简单示例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值