jsonecho

JSON to Elm

یک نمونه JSON را بچسبانید و تایپ‌های Elm آن را بگیرید.

در حال بارگذاری ابزار...

نحوه استفاده از JSON to Elm

  1. یک نمونه JSON نماینده بچسبانید، ترجیحاً با همه فیلدهای اختیاری پرشده.
  2. نام تایپ ریشه را تعیین کنید و تصمیم بگیرید کد کمکی هم می‌خواهید یا فقط تایپ‌ها.
  3. کد Elm تولیدشده را در پروژه خود کپی کنید.

درباره JSON to Elm

نوشتن کلاس‌های مدل با دست برای یک payload بزرگ JSON کسل‌کننده است و جایی است که غلط‌های تایپی رخنه می‌کنند. یک نمونه را اینجا بچسبانید و تولیدکننده ساختار را درمی‌آورد: کدام فیلدها وجود دارند، کدام شیء هستند، کدام آرایه و هر مقدار چه نوعی دارد. خروجی type aliasها با decoderها و encoderهای JSON متناظر است.

Elm بازتاب (reflection) در زمان اجرا ندارد، بنابراین decoderها برای شما تولید می‌شوند و مفیدترین بخش خروجی هستند. همه چیز در مرورگر شما اجرا می‌شود، بنابراین داده نمونه شما روی دستگاه شما می‌ماند.

استفاده از کد تولیدشده

از Json.Decode.decodeString rootDecoder text استفاده کنید و Result را پردازش کنید، که اگر داده مطابقت نداشته باشد می‌گوید چه مشکلی پیش آمده است.

مقدارهای اختیاری از تایپ Maybe استفاده می‌کنند و decoder مقدار null و کلیدهای جاافتاده را می‌پذیرد.

پرسش‌های متداول

کد Elm تولیدشده به چه چیزی وابسته است؟

خروجی type aliasها با decoderها و encoderهای JSON متناظر است.

چگونه با نتیجه JSON را تجزیه کنم؟

از Json.Decode.decodeString rootDecoder text استفاده کنید و Result را پردازش کنید، که اگر داده مطابقت نداشته باشد می‌گوید چه مشکلی پیش آمده است.

فیلدهای اختیاری و جاافتاده چگونه پردازش می‌شوند؟

مقدارهای اختیاری از تایپ Maybe استفاده می‌کنند و decoder مقدار null و کلیدهای جاافتاده را می‌پذیرد.

آیا تولیدکننده بیش از یک رکورد را بررسی می‌کند؟

فقط آنچه را در نمونه شماست می‌داند. اگر فیلدی در مثال شما نباشد در تایپ‌ها ظاهر نمی‌شود و اگر مقداری در مثال شما null باشد، تایپ آن نامعلوم است. مثالی بچسبانید که در آن تا حد ممکن فیلدهای بیشتری پر شده‌اند، یا آرایه‌ای با چند رکورد متفاوت بچسبانید.

آیا JSON من به سرور فرستاده می‌شود؟

خیر. تولیدکننده بار اول که استفاده می‌کنید، حدود ۱ مگابایت، در مرورگر شما دانلود می‌شود و همه چیز به‌صورت محلی اجرا می‌شود.

بیشتر در داده به کلاس

همه ابزارها →