跳到内容
🛠️ToolsShed

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.