UTILS.
۱۰۰٪ در مرورگر

تبدیل JSON به POJO جاوا

از یک نمونه JSON کلاس‌های POJO جاوا بسازید، با حاشیه‌نویسی Jackson یا Gson، getter و setterهای تولیدشده، و انواع boxed برای فیلدهای nullable.

خروجی

درباره این ابزار

ابزار تبدیل JSON به POJO جاوا یک نمونه JSON چسبانده‌شده را به کلاس‌های مدل جاوا تبدیل می‌کند، به همان شیوه‌ای که jsonschema2pojo انجام می‌دهد اما فوراً در مرورگر شما. JSON را تجزیه می‌کند، انواع جاوا را به‌صورت بازگشتی استنتاج می‌کند و برای هر شیء یک کلاس تولید می‌کند: رشته‌ها به String، اعداد صحیح به int یا long، سایر اعداد به double، بولین‌ها به boolean، آرایه‌ها به List<T>، و اشیای تودرتو به کلاس‌های PascalCase خودشان که پیش از والدینی که از آن‌ها استفاده می‌کنند اعلان می‌شوند.

همه تجزیه و تولید به‌صورت محلی با JSON.parse و JavaScript ساده اجرا می‌شود، پس payloadهای شما هرگز صفحه را ترک نمی‌کنند. فیلدها به camelCase تبدیل می‌شوند؛ هنگامی که کلید JSON از پیش camelCase نباشد، ابزار @JsonProperty("originalKey") (Jackson) یا @SerializedName("originalKey") (Gson) اضافه می‌کند، یا در حالت فیلدهای ساده هیچ چیز. فیلدهایی که می‌توانند در هر نمونه‌ای null باشند از انواع wrapper با boxed (Integer, Long, Double, Boolean) استفاده می‌کنند تا null قابل نمایش باشد. کلاس‌های Jackson برای سازگاری رو-به-جلو @JsonIgnoreProperties(ignoreUnknown = true) را حمل می‌کنند.

کلید تغییر سبک-حاشیه‌نویسی Jackson (پیش‌فرض)، Gson، یا بدون حاشیه‌نویسی را انتخاب می‌کند، و فقط importهایی که واقعاً استفاده شده‌اند گنجانده می‌شوند. کلید تغییر accessors بین متدهای تولیدشده getX()/setX() روی فیلدهای private (پیش‌فرض) یا فیلدهای public ساده انتخاب می‌کند. نتیجه را کپی کنید یا آن را به‌عنوان یک فایل .java دانلود کنید تا مستقیماً در پروژه خود بگذارید.

پرسش‌های پرتکرار

کدام انواع جاوا تولید می‌شوند؟
string به String، عدد صحیح به int (long هنگامی که مقداری از محدوده int فراتر رود)، عدد غیرصحیح به double، بولین به boolean، آرایه به List<T>، و شیء به یک کلاس نام‌گذاری‌شده. فیلدهایی که ممکن است null باشند از انواع boxed استفاده می‌کنند — Integer, Long, Double, Boolean.
حاشیه‌نویسی Jackson یا Gson؟
کلید تغییر حاشیه‌نویسی Jackson (@JsonProperty، به‌علاوه @JsonIgnoreProperties(ignoreUnknown = true))، Gson (@SerializedName)، یا هیچ‌کدام را انتخاب می‌کند. حاشیه‌نویسی‌ها فقط زمانی اضافه می‌شوند که نام فیلد camelCase از کلید JSON اصلی متفاوت باشد.
آیا getter و setter دریافت می‌کنم؟
به‌طور پیش‌فرض هر فیلد private یک getX() و setX() تولیدشده می‌گیرد. اگر فیلدهای برهنه سبک-record بدون متدهای accessor را ترجیح می‌دهید، کلید تغییر accessors را به فیلدهای public ساده تغییر دهید.
آیا JSON من جایی ارسال می‌شود؟
خیر. JSON تجزیه می‌شود و کلاس‌ها کاملاً در مرورگر شما با JavaScript ساده تولید می‌شوند. هیچ چیز بارگذاری نمی‌شود، پس می‌توانید با خیال راحت پاسخ‌های داخلی API را بچسبانید.

ابزارهای بیشتر