# JsonParser
**Repository Path**: QQXQQ/JsonParser
## Basic Information
- **Project Name**: JsonParser
- **Description**: 解析JSON
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-12-24
- **Last Updated**: 2026-02-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# JsonParser
学习实现简单的 Java JSON 解析库,支持 JSON 解析、类型转换、自定义字段映射和对象序列化。
## 📋 目录
- [功能特性](#功能特性)
- [安装配置](#安装配置)
- [快速开始](#快速开始)
- [API 参考](#api-参考)
- [注解使用](#注解使用)
- [高级用法](#高级用法)
- [项目结构](#项目结构)
- [许可证](#许可证)
## ✨ 功能特性
| 功能 | 描述 |
|------|------|
| **JSON 解析** | 将 JSON 字符串解析为抽象语法树 (AST) |
| **类型转换** | 支持将 JSON 转换为任意 Java 对象 |
| **对象序列化** | 支持将 Java 对象转换为 JSON 字符串 |
| **注解支持** | `@JsonField` 自定义字段名,`@IgnoreField` 忽略字段 |
| **泛型支持** | 使用 `TypeRef` 支持复杂泛型类型的解析 |
| **注释处理** | 支持解析 JSON 中的注释内容 |
| **多类型支持** | 支持基本类型、列表、Map 和自定义对象 |
## 📦 安装配置
### Maven 依赖
```xml
com.aix
JsonParser
1.0.0
```
### Gradle 依赖
```gradle
implementation 'com.aix:JsonParser:1.0.0'
```
## 🚀 快速开始
### 1. 解析 JSON 为 Expression (AST)
```java
import com.aix.JsonPlus;
import com.aix.parser.ast.Expression;
import com.aix.parser.ast.ObjectExpression;
// 将 JSON 字符串解析为 Expression 对象
Expression expression = JsonPlus.parseToExpression("{\"name\":\"test\",\"value\":123}");
// 可以进一步获取成员值
if (expression instanceof ObjectExpression) {
ObjectExpression objectExpr = (ObjectExpression) expression;
Expression nameExpr = objectExpr.getMember("name");
System.out.println("Parsed: " + expression.toJson());
}
```
### 2. 解析 JSON 为 Java 对象
```java
import com.aix.JsonPlus;
import com.aix.parser.TypeRef;
// 解析为简单对象
User user = JsonPlus.parse(jsonString, new TypeRef(){});
// 解析为列表
List users = JsonPlus.parse(jsonString, new TypeRef>(){});
// 解析为 Map
Map userMap = JsonPlus.parse(jsonString, new TypeRef