YAML سے JSON کنورٹر
YAML کنفیگریشن، OpenAPI اسپیکس اور CI فائلوں کو ایسے JSON میں تبدیل کریں جسے ہر پارسر، API یا اسکیما ویلیڈیٹر پڑھ سکے۔ .yaml یا .yml فائلیں اپ لوڈ کریں اور انڈینٹ شدہ JSON ڈاؤن لوڈ کریں۔
ڈیٹا کنورٹر
یا CSV, TSV, TXT … فائلیں یہاں ڈراپ کریں ·
زیادہ سے زیادہ 95 MB فی فائل· 20 فائلوں تک· 30 منٹ بعد حذف
فائلیں ہمارے سرورز پر پروسیس ہوتی ہیں اور 30 منٹ بعد حذف ہو جاتی ہیں۔
وہ حرف جو CSV اور متنی فائلوں میں کالموں کو الگ کرتا ہے، پڑھنے اور لکھنے دونوں کے لیے۔ خودکار اسے ان پٹ سے پہچانتا ہے اور کاما لکھتا ہے۔
UTF-8 ہر زبان کے لیے کام کرتا ہے۔ اگر Windows پر Excel میں CSV کھولنے پر اعراب یا ایشیائی حروف بگڑے نظر آئیں تو BOM کے ساتھ UTF-8 چنیں۔
Excel، ODS اور Numbers ان پٹ: صرف پہلی شیٹ تبدیل کریں، یا تمام شیٹس (ZIP میں ہر شیٹ کی ایک CSV، یا ہر شیٹ کی ایک JSON کی)۔
نئی اسپریڈ شیٹ میں شیٹ ٹیب کا نام، زیادہ سے زیادہ 31 حروف۔
آبجیکٹس کی ارے ہر قطار کے لیے کالم کے ناموں کو کیز بناتی ہے؛ ارے کی ارے زیادہ مختصر ہے اور ہیڈر کو پہلی ارے کے طور پر رکھتی ہے۔
بیرونی ایلیمنٹ کا نام جو تمام قطاروں کو لپیٹتا ہے؛ ہر قطار اس کے اندر <row> بنتی ہے۔
CREATE TABLE اور INSERT اسٹیٹمنٹس میں استعمال ہوتا ہے۔ صرف حروف، ہندسے اور انڈر اسکور۔
کوٹنگ اور کالم کی اقسام ڈیٹابیسز میں تھوڑی مختلف ہوتی ہیں؛ وہ چنیں جس میں امپورٹ کرنا ہے۔
تاریخ کے خانوں کو ایک فارمیٹ میں دوبارہ لکھیں۔ ڈیٹابیسز اور کوڈ کے لیے ISO (2026-10-18) سب سے محفوظ ہے؛ جوں کا توں رکھیں انہیں ماخذ کی طرح چھوڑتا ہے۔
اس ٹول کو استعمال کرنے کا طریقہ
- 1
YAML فائلیں اپ لوڈ کریں
.yaml یا .yml فائلیں شامل کریں، ایک وقت میں زیادہ سے زیادہ 20 اور ہر ایک 95 MB تک۔ اصل نام برقرار رکھیں؛ JSON فائلوں کے نام وہی رہتے ہیں، صرف ایکسٹینشن نئی ہوتی ہے۔
- 2
انڈینٹ شدہ یا کمپیکٹ منتخب کریں
خوش نما ترتیب آن ہے، جو پڑھنے اور کوڈ ریویو کے لیے JSON میں انڈینٹیشن لگاتی ہے۔ ریکوئسٹ باڈی میں پیسٹ کرنے کے لیے ایک سطری فائل چاہیے تو اسے اعلیٰ سیٹنگز میں بند کر دیں۔
- 3
تبدیل کریں اور استعمال کریں
JSON میں تبدیل کریں ← دبائیں، ڈاؤن لوڈ کریں، اور فائل اس API، ویلیڈیٹر یا اسکرپٹ کو دے دیں جسے اس کی ضرورت تھی۔
ڈیولپرز YAML کو JSON میں کیوں تبدیل کرتے ہیں
YAML لوگوں کے لیے لکھا جاتا ہے: بریسز کی جگہ انڈینٹیشن، تبصرے، اور اکثر اسٹرنگز پر کوٹس نہیں۔ اسی لیے Kubernetes مینی فیسٹس، GitHub Actions ورک فلوز، Docker Compose فائلوں اور OpenAPI اسپیکس میں، جنہیں ٹیمیں ہاتھ سے ایڈٹ کرتی ہیں، یہی فارمیٹ چلتا ہے۔ JSON پروگراموں کے لیے لکھا جاتا ہے۔ ہر زبان کی اسٹینڈرڈ لائبریری میں JSON پارسر ہوتا ہے، براؤزر اسے براہ راست پارس کرتے ہیں، اور زیادہ تر HTTP API کچھ اور قبول ہی نہیں کرتے۔
اس لیے تبدیلی سرحد پر ہوتی ہے۔ پلیٹ فارم انجینئر مینی فیسٹ کو jq سے گزارتا ہے، جو صرف JSON پڑھتا ہے۔ بیک اینڈ ڈیولپر OpenAPI اسپیک ایسے کوڈ جنریٹر کو بھیجتا ہے جسے JSON چاہیے۔ ٹیسٹر YAML میں لکھا فکسچر ڈیٹا JavaScript ٹیسٹ سویٹ میں لوڈ کرتا ہے۔ ہر صورت میں YAML اصل ماخذ رہتا ہے اور JSON بلڈ آرٹیفیکٹ۔ کنفیگز کے بجائے فیڈز یا ایکسپورٹس کی پوری ڈائریکٹری ہو تو XML سے JSON پرانے مارک اپ فارمیٹ کو اسی طرح سنبھالتا ہے۔
YAML اور JSON نے ساتھ ساتھ کیسے ترقی کی
- Clark Evans نے YAML پہلی بار تجویز کیا
- 2001
- YAML 1.2 نے JSON کو YAML کا ذیلی سیٹ بنایا
- 2009
- RFC 8259، موجودہ JSON معیار
- 2017
- YAML 1.2.2 نظرثانی شائع ہوئی
- 2021
صرف YAML والی خصوصیات کا JSON میں کیا ہوتا ہے
اینکر (&defaults) اور اس کے ایلیاسز (*defaults) YAML میں ایک بلاک دوبارہ استعمال کرنے دیتے ہیں۔ JSON میں حوالے نہیں ہوتے، اس لیے ہر ایلیاس کی جگہ اینکر والے بلاک کی مکمل کاپی لکھی جاتی ہے۔
- JSON، YAML سے نمایاں طور پر لمبا ہو سکتا ہے
- مرج کیز (
<<: *defaults) بھی اسی طرح پھیلا دی جاتی ہیں
# سے شروع ہونے والی سطریں لوگوں کے لیے دستاویز ہوتی ہیں۔ JSON میں ان کی جگہ نہیں، اس لیے وہ ہٹا دی جاتی ہیں۔
- تبصروں والے اصل ماخذ کے طور پر YAML کو ورژن کنٹرول میں رکھیں
بغیر کوٹس کے 2026-10-18 کئی YAML پارسرز میں ٹائم اسٹیمپ ہوتا ہے۔ JSON میں تاریخ کی قسم نہیں، اس لیے یہ اسٹرنگ "2026-10-18" کے طور پر لکھی جاتی ہے۔
ایک YAML اسٹریم میں --- سے الگ کی گئی کئی دستاویزات ہو سکتی ہیں۔ JSON فائل میں ایک ہی قدر ہوتی ہے، اس لیے وصول کرنے والے ٹول کو ایک آبجیکٹ چاہیے تو ہر دستاویز الگ فائل میں رکھیں۔
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}YAML اور JSON فارمیٹ کے حقائق
YAML
YAML
YAML ("YAML Ain't Markup Language") انسانوں کے لیے آسان ڈیٹا فارمیٹ ہے جو پہلی بار 2001 میں جاری ہوا۔ یہ بریکٹس کی جگہ انڈینٹیشن استعمال کرتا ہے، کمنٹس کو سپورٹ کرتا ہے اور JSON کا سپر سیٹ ہے۔ یہ Docker Compose، Kubernetes، GitHub Actions اور بہت سی ایپلیکیشنز کی کنفیگریشن میں عام ہے۔ خالی جگہ پر انحصار کی وجہ سے ایک غلط جگہ پر اسپیس سے بھی یہ خراب ہو سکتا ہے، اور "no" یا تاریخوں جیسی کچھ ویلیوز کی تشریح غیر متوقع طور پر ہو سکتی ہے۔
- کمپریشن
- –
- شفافیت
- –
- اینیمیشن
- –
- متعارف ہونے کا سال
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
جاوا اسکرپٹ آبجیکٹ نوٹیشن
JSON منظم ڈیٹا کے لیے ہلکا پھلکا ٹیکسٹ فارمیٹ ہے، جسے Douglas Crockford نے 2000 کی دہائی کے اوائل میں مقبول کیا اور جو RFC 8259 اور ECMA-404 کے طور پر معیاری ہے۔ یہ آبجیکٹس، ارریز، اسٹرنگز، نمبرز، بولینز اور null کو سادہ، پڑھنے کے قابل نحو میں ظاہر کرتا ہے۔ یہ تقریباً ہر پروگرامنگ زبان میں ویب APIs، کنفیگریشن فائلوں اور ایپس کے درمیان ڈیٹا کے تبادلے کا ڈیفالٹ فارمیٹ ہے۔ اس میں تبصرے، تاریخیں یا اسکیمے بلٹ اِن نہیں، اور بڑی گہری فائلیں ویور کے بغیر پڑھنا مشکل ہوتا ہے۔
- کمپریشن
- –
- شفافیت
- –
- اینیمیشن
- –
- متعارف ہونے کا سال
- 2001 · Douglas Crockford
لوگ YAML کو JSON میں تب بدلتے ہیں جب انسانوں کے لیے لکھی گئی کنفیگ یا اسپیک کو مشین کو دینا ہو: API ریکوئسٹ، اسکیما ویلیڈیٹر یا ایسا ٹول جس میں YAML پارسر نہ ہو۔
YAML سے JSON کنورٹر: عام سوالات
جب دونوں میں ایک ہی ڈیٹا ہوتا ہے تو YAML کو JSON میں کیوں تبدیل کریں؟
اس لیے کہ بہت سے ٹولز صرف JSON ہی پارس کرتے ہیں۔ JSON ریڈر ہر پروگرامنگ لینگویج اور براؤزر میں موجود ہوتا ہے، جبکہ YAML کے لیے اضافی لائبریری درکار ہوتی ہے۔ REST API کی ریکوئسٹ باڈیز، JSON Schema ویلیڈیٹرز، jq، اور package.json یا براؤزر ایکسٹینشن کی manifest.json جیسی فائلیں سب JSON ہی مانگتی ہیں۔
میرے YAML تبصروں کا کیا ہوتا ہے؟
وہ ختم ہو جاتے ہیں۔ RFC 8259 میں JSON کے لیے تبصرے کی کوئی سنٹیکس نہیں، اس لیے # سے شروع ہونے والی سطروں کی کوئی جگہ نہیں۔ YAML فائل کو دستاویزی اصل رکھیں اور JSON کو تیار کردہ کاپی سمجھیں جو آپ جب چاہیں دوبارہ بنا سکتے ہیں۔
NO یا off کی جگہ false کیوں آ گیا؟
YAML 1.1 پر چلنے والے پارسرز yes، no، on اور off کو بولین پڑھتے ہیں، اس لیے ناروے کا کنٹری کوڈ NO بھی false بن سکتا ہے۔ YAML 1.2 بولین کو صرف true اور false تک محدود کرتا ہے، مگر ہر ٹول اس پر عمل نہیں کرتا۔ ایسی قدروں کو YAML میں کوٹس میں لکھیں، جیسے "NO"، تو وہ JSON میں اسٹرنگ ہی رہیں گی۔
کیا میں YAML میں لکھا CloudFormation ٹیمپلیٹ تبدیل کر سکتا ہوں؟
AWS CloudFormation دونوں فارمیٹ قبول کرتا ہے، لیکن !Ref اور !GetAtt جیسے مختصر ٹیگ صرف YAML میں ہوتے ہیں۔ JSON ٹیمپلیٹس میں انہیں مکمل فنکشن کی شکل میں لکھا جاتا ہے، {"Ref": "MyBucket"} یا {"Fn::GetAtt": [...]}۔ تبدیل کرنے سے پہلے مختصر ٹیگ کو طویل شکل میں لکھ لیں تاکہ JSON ٹیمپلیٹ درست رہے۔
الٹی سمت میں تبدیلی کیسے کروں؟
JSON سے YAML استعمال کریں۔ جب کسی API کے جواب یا تیار کردہ فائل کو ریپوزٹری میں پڑھنے کے قابل کنفیگ فائل بنانا ہو تو عموماً یہی سمت درکار ہوتی ہے۔