روی دستگاه شما اجرا میشود · فایل شما از دستگاهتان خارج نمیشود.
فایل .json را رها کنید یا JSON را مستقیم از پاسخ یک API بچسبانید و CSV بگیرید که در اکسل، Google Sheets یا هر صفحهٔ ورود داده باز میشود. فهرست سطح بالا هر مورد را یک سطر میکند؛ در غیر این صورت بلندترین فهرست رکوردها در سند به کار میرود، پس {"results": [...], "count": 2} برای هر نتیجه یک سطر میدهد؛ شیئی که هیچ فهرستی در آن نیست یک سطر میشود.
قواعد ثابت است تا نتیجه قابل پیشبینی باشد: اشیای تودرتو ستونهای نقطهدار میشوند (address.city)، فهرست مقادیر ساده با نقطهویرگول در یک سلول میآید، و فهرست اشیا داخل یک رکورد ستونهای شمارهدار میگیرد (items.0.name). سطر عنوان اجتماع همهٔ کلیدهاست به ترتیب اولین حضور؛ رکوردی که فیلدی ندارد فقط سلول خالی میگذارد.
CSV طبق RFC 4180 نوشته میشود (فیلدهای دارای ویرگول، گیومه یا خط جدید درست نقلقول میشوند)، با UTF-8 و نشانگر BOM اختیاری تا اکسل هر خط، اعراب و نمادی را درست نشان دهد. سلولی که با =، +، - یا @ شروع شود یک آپاستروف در ابتدایش میگیرد تا صفحهگسترده آن را متن نشان دهد، نه اینکه مثل فرمول اجرایش کند. ۲۰۰ خط اول را پیش از دانلود میبینید و چیزی از دستگاه شما بیرون نمیرود.
مناسب نیست برای: یک شیء عمیقاً تودرتو بدون هیچ فهرستی: تبدیل میشود، اما بهصورت یک سطر بسیار پهن، نه یک جدول.
فهرست سطح بالا خودش سطرهاست. در غیر این صورت ابزار تا هشت سطح در عمق سند میگردد تا بلندترین فهرست اشیا را پیدا کند. پس {"response": {"data": {"items": [...]}}} و {"results": [...], "count": 2, "next": null} هر دو برای هر مورد یک سطر میدهند و سطر زیر نتیجه نام فهرستی را که به کار رفته میگوید، مثلاً results. مقدارهای کنار آن فهرست، مثل count و next، جزو هیچ رکوردی نیستند و کنار گذاشته میشوند.
از دو فهرست هماندازه، آنکه به بالای سند نزدیکتر است برنده میشود. برای فهرستی کوتاهتر، آن را از [ تا ] کپی کنید و فقط همان را بچسبانید. سندی که هیچ فهرستی از اشیا ندارد یک سطر میشود و پوششهایی که فقط یک کلید دارند رد میشوند؛ پس {"order": {"id": 7, "total": 12}} ستونهای id و total را میدهد.
متن دقیقاً کپی میشود، از جمله تاریخها که به همان شکلی میمانند که در JSON آمدهاند، مثل 2024-01-05T10:00:00Z. true و false بهصورت همین کلمهها نوشته میشوند. null، فهرست خالی و شیء خالی همه خانهٔ خالی میشوند؛ پس در CSV با فیلدی که اصلاً نبوده یکسان به نظر میرسند.
عدد دقیقاً همانطور نوشته میشود که در JSON آمده: 1.0 همان 1.0 میماند، 1e21 همان 1e21، و شناسهای مثل 12345678901234567890 حتی بدون گیومه همهٔ رقمهایش را نگه میدارد. یک خوانندهٔ معمولی JSON آن شناسه را به 12345678901234567000 تبدیل میکرد.
فهرستی از فهرستها یک سطح باز میشود: "m": [[1, 2], [3]] ستون m.0 با مقدار 1;2 و ستون m.1 با مقدار 3 میدهد. فهرستی که اشیا و مقدارهای ساده را با هم دارد همهٔ اعضایش را شماره میزند، پس "x": [{"z": 1}, 2] ستونهای x.0.z و x.1 را میدهد.
نام ستونها با پیوستن کلیدها با نقطه ساخته میشود، پس کلیدی که خودش نقطه دارد ممکن است با کلیدی تودرتو برخورد کند: {"a.b": 1, "a": {"b": 2}} دو بار a.b میساخت. دومی پسوندی میگیرد، پس ستونها a.b و a.b_2 هستند و هر دو مقدار حفظ میشوند.
کاما انتخاب معمول است. نقطهویرگول به صفحهگستردهای میآید که روی زبانی تنظیم شده که اعشار را با ویرگول مینویسد؛ آنجا فایل کاماجدا اغلب در یک ستون باز میشود. تب و خط عمودی برای سامانههایی است که آنها را میخواهند. جداکننده هرچه باشد، پسوند فایل .csv است.
خانهای که با =، +، - یا @ شروع شود برای صفحهگسترده فرمول است و هنگام باز شدن اجرا میشود. چنین خانهای یک آپاستروف در ابتدا میگیرد، همان نشانهای که خود صفحهگستردهها برای «این متن است» به کار میبرند؛ پس =1+1 به شکل '=1+1 نوشته میشود. عددهای ساده مثل -5 یا +3.5 همانطور میمانند.
این صفحه به زبانهای دیگر: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · اردو · Bahasa Indonesia · বাংলা