https://github.com/solarisneko/json-java
json. Pure Java JSON ORM Utils. use like GSON, fastjson, jackson
https://github.com/solarisneko/json-java
java json
Last synced: 3 months ago
JSON representation
json. Pure Java JSON ORM Utils. use like GSON, fastjson, jackson
- Host: GitHub
- URL: https://github.com/solarisneko/json-java
- Owner: SolarisNeko
- License: apache-2.0
- Created: 2023-06-02T16:03:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-23T09:10:51.000Z (almost 3 years ago)
- Last Synced: 2025-02-28T15:31:00.614Z (over 1 year ago)
- Topics: java, json
- Language: Java
- Homepage:
- Size: 142 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: RoadMap.md
Awesome Lists containing this project
README
# JSON
## Introduction
朴素的 JSON 序列化工具. 基于 Field 实现.
速度不快, 只是避免较多反序列化漏洞而诞生.
支持类型:
1. JSON ORM by serialize/deserialize
2. 支持 enum
3. 支持 范型 (But @author 不推荐使用)
4. 支持 pretty
5. 各种日期, 序列化成 string = "yyyy-MM-dd HH:mm:ss" 格式
推荐:
1. 尽量使用纯实体的数据结构, 而非 interface / abstract 作为 json 载体.
2. 不追求速度
3. 删减第三方依赖, 和第二方工具库
# Download
## maven
```xml
com.neko233
json-java
0.3.0
```
## gradle
```kotlin
implementation("com.neko233:json-java:0.3.0")
```
## JMH Speed Test

测速结论:
1. 线性增长耗时。
单个 object serialize ~= 100w+/s
单个 object serialize + deserialize ~= 30+w/s
数组 object serialize + deserialize ~= 100w+ / n 个对象 /s
3 object List ~= 32w+/s
数组 object serialize + deserialize ~= 30+w / n 个对象 /s
3 object list ~= 10w+/s
## JDK Compatibility | JDK 版本支持
Latest supported versions:
JDK 8 = 0.3.0
JDK 11 = 0.3.0
JDK 17 = 0.3.0
## Key Terminology | 术语
1. serialize: 序列化. JSON String -> Object
2. deserialize : 反序列化. Object -> JSON String
# License
json-java is licensed under Apache 2.0.
## Download
### Maven
```xml
com.neko233
json-java
0.3.0
```
### Gradle
```groovy
implementation group: 'com.neko233', name: 'json-java', version: '0.3.0'
```
# Code
## Demo
```java
String serialize=JSON.serialize(person);
Person reTestSpeedPerson=JSON.deserialize(serialize,Person.class);
System.out.println("original = "+person);
System.out.println("deserialize = "+reTestSpeedPerson);
Assert.assertTrue(reTestSpeedPerson.equals(person));
```