JSON to Java Converter
将JSON对象转换为Java POJO类,支持Lombok和Jackson注解。
关于此工具
JSON to Java Converter是一个基于浏览器的实用工具,可以将JSON对象转换为强类型的Java POJO(Plain Old Java Object)类。对于使用REST API、微服务或数据交换系统的开发人员来说,将原始JSON响应转换为编译的Java对象对于简化开发和减少手动编码错误至关重要。现代Java应用程序需要反序列化JSON数据,拥有带有Lombok和Jackson注释的适当注释类可以确保与Spring Boot等流行框架的无缝集成。
要使用转换器,只需将JSON样本粘贴到输入字段中,然后单击"Generate Java Classes"。该工具会自动分析JSON结构,并生成具有适当字段类型、用于减少样板代码的Lombok注释以及用于序列化控制的Jackson注释的Java代码。典型用途包括解析API响应、为Web服务构建数据传输对象(DTO)以及为数据库实体生成模型类。生成的代码已准备好编译,可直接集成到项目中。
转换器可处理嵌套的JSON对象、数组以及各种数据类型,包括字符串、数字、布尔值和日期。在使用第三方API时特别有用,因为您经常会收到不一致的JSON结构,此工具可以节省数小时的手动类编写时间。请记住,生成的类是一个基础——生成后,您可能需要根据特定的业务逻辑对其进行优化,或添加额外的验证。
常见问题
代码实现
import json
from dataclasses import dataclass, field
from typing import List, Optional
# Manual POJO equivalent: Python dataclass
@dataclass
class Address:
street: str = ""
city: str = ""
zip: str = ""
@dataclass
class User:
id: int = 0
name: str = ""
email: str = ""
is_active: bool = True
score: float = 0.0
address: Optional[Address] = None
tags: List[str] = field(default_factory=list)
# Deserialize JSON to Python object
json_str = '''{"id": 1, "name": "Alice", "email": "alice@example.com",
"is_active": true, "score": 9.5,
"address": {"street": "123 Main St", "city": "Springfield"},
"tags": ["admin"]}'''
data = json.loads(json_str)
user = User(**{k: v for k, v in data.items() if k != "address"})
if "address" in data:
user.address = Address(**data["address"])
print(user.name, user.address.city)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.