强大的JSON格式化和编辑工具zjson

本文软件应网友 小超 的需求而制作,软件本身已经 2年未更新,请知悉~

什么是 zjson ?

转杰森(zjson) 是一个强大的 JSON 格式化和编辑工具,支持在线版和 Electron应用安装,使用 MEAN-STACK ( MongoDB + Express + Angular + NodeJS 技术栈 ) 开发。

软件特性

  •  支持错误的 JSON 解析及错误行号和错误类型提示;
  •  支持 python unicode 集合的解析;
  •  支持保存、删除和呈现格式化的历史;
  •  支持格式化后的 JSON 以文件的形式下载;
  •  支持中英文双语国际化;
  •  支持线上 JSON 分享;
  •  支持多种皮肤切换;
  •  支持 JSON 转义、压缩;
  •  支持 JSON 标准化析,把非标准 JSON(如:jsobject )转化为标准 JSON 格式;
  •  支持 JSON 对比(有与原码对比、与历史比对和与新建代码对比三种模式);
  •  还有更多的功能、配置、特性等你去发现!

如果不想自己搭建,官方还提供了演示网站:https://www.zjson.net/

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

官方没有提供镜像,所以只能自己编

构建过程中,依然借助了 ChatGPT 强大的解析能力,协助老苏排查编译中遇到的各种问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 第一阶段:构建应用
FROM node:16.5 AS build

# 改阿里源
RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list
RUN cat /etc/apt/sources.list
RUN rm -Rf /var/lib/apt/lists/*

# 安装 Python 和编译工具
RUN apt-get update && apt-get install -y \
python \
make \
g++

# 配置 Node.js 环境变量
ENV PATH="/usr/local/bin:${PATH}"

WORKDIR /app
COPY package*.json ./
RUN npm install --registry=https://registry.npm.taobao.org --disturl=https://electronjs.org/headers
COPY . .
RUN npm run build

# 第二阶段:生成生产环境镜像
FROM nginx:1.12-alpine
LABEL maintainer=laosu<wbsu2003@gmail.com>

COPY --from=build /app/dist /usr/share/nginx/html

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

这算是一个比较标准的前端 TypeScript 项目,但是在编译中遇到两个问题:

  • NodeJS 的版本:因为官方文档未涉及环境的描述,所以老苏用了 LTS 版,对应的是 18.5,过程中遇到报错信息 Error: error:0308010C:digital envelope routines::unsupported,回退到 16.5 可以正常通过;

  • npm 安装 electron 失败:错误信息中包含了 RequestError: connect ECONNREFUSED 140.82.112.3:443,这是因为默认的源 https://registry.npmjs.org 无法连接,通过 --disturl=https://electronjs.org/headers修改为了 Electronheaders 镜像;

这两个问题在 ChatGPT 的帮助下,很容易就解决了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 下载原代码
git clone https://github.com/CN-Tower/zjson.git

# 如果 github 慢或者访问不了
git clone https://ghproxy.com/github.com/CN-Tower/zjson.git

# 进入目录
cd zjson

# 构建镜像
docker build -t wbsu2003/zjson:v1 .

# 生成容器
docker run -d \
--name=zjson \
-p 3590:80 \
wbsu2003/zjson:v1

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 zjson ,选择第一个 wbsu2003/zjson,版本选择 latest

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3590 80

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
# 运行容器
docker run -d \
--restart unless-stopped \
--name zjson \
-p 3590:80 \
wbsu2003/zjson

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
zjson:
image: wbsu2003/zjson
container_name: zjson
restart: unless-stopped
ports:
- 3590:80

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 zjson 和 子目录
mkdir -p /volume2/docker/zjson

# 进入 zjson 目录
cd /volume2/docker/zjson

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3590 就能看到主界面

左上角是一些设置

老苏用的还是上海的天气信息,地址:http://t.weather.itboy.net/api/weather/city/101020100

转换之后的效果,可阅读性强了不是一星半点

不过老苏毕竟不是程序员,我也不知道这个工具是不是好用 😅

参考文档

CN-Tower/zjson: A powerful JSON formatting and editing tools. 一个强大的JSON格式化和编辑工具,支持在线版和Electron应用安装。
地址:https://github.com/CN-Tower/zjson

转杰森 | ZJSON _ 全力打造最好用的Json工具!
地址:https://www.zjson.net/