UltKit

YAML سے JSON کنورٹر

YAML کنفیگریشن، OpenAPI اسپیکس اور CI فائلوں کو ایسے JSON میں تبدیل کریں جسے ہر پارسر، API یا اسکیما ویلیڈیٹر پڑھ سکے۔ .yaml یا .yml فائلیں اپ لوڈ کریں اور انڈینٹ شدہ JSON ڈاؤن لوڈ کریں۔

ڈیٹا کنورٹر

یا CSV, TSV, TXT … فائلیں یہاں ڈراپ کریں ·

زیادہ سے زیادہ 95 MB فی فائل· 20 فائلوں تک· 30 منٹ بعد حذف

آؤٹ پٹ

فائلیں ہمارے سرورز پر پروسیس ہوتی ہیں اور 30 منٹ بعد حذف ہو جاتی ہیں۔

اس ٹول کو استعمال کرنے کا طریقہ

  1. 1

    YAML فائلیں اپ لوڈ کریں

    ‏.yaml یا .yml فائلیں شامل کریں، ایک وقت میں زیادہ سے زیادہ 20 اور ہر ایک 95 MB تک۔ اصل نام برقرار رکھیں؛ JSON فائلوں کے نام وہی رہتے ہیں، صرف ایکسٹینشن نئی ہوتی ہے۔

  2. 2

    انڈینٹ شدہ یا کمپیکٹ منتخب کریں

    خوش نما ترتیب آن ہے، جو پڑھنے اور کوڈ ریویو کے لیے JSON میں انڈینٹیشن لگاتی ہے۔ ریکوئسٹ باڈی میں پیسٹ کرنے کے لیے ایک سطری فائل چاہیے تو اسے اعلیٰ سیٹنگز میں بند کر دیں۔

  3. 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) بھی اسی طرح پھیلا دی جاتی ہیں
ایک چھوٹی 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
YAML کنورٹر

JSON

جاوا اسکرپٹ آبجیکٹ نوٹیشن

JSON منظم ڈیٹا کے لیے ہلکا پھلکا ٹیکسٹ فارمیٹ ہے، جسے Douglas Crockford نے 2000 کی دہائی کے اوائل میں مقبول کیا اور جو RFC 8259 اور ECMA-404 کے طور پر معیاری ہے۔ یہ آبجیکٹس، ارریز، اسٹرنگز، نمبرز، بولینز اور null کو سادہ، پڑھنے کے قابل نحو میں ظاہر کرتا ہے۔ یہ تقریباً ہر پروگرامنگ زبان میں ویب APIs، کنفیگریشن فائلوں اور ایپس کے درمیان ڈیٹا کے تبادلے کا ڈیفالٹ فارمیٹ ہے۔ اس میں تبصرے، تاریخیں یا اسکیمے بلٹ اِن نہیں، اور بڑی گہری فائلیں ویور کے بغیر پڑھنا مشکل ہوتا ہے۔

کمپریشن
–
شفافیت
–
اینیمیشن
–
متعارف ہونے کا سال
2001 · Douglas Crockford
JSON کنورٹر

لوگ 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 کے جواب یا تیار کردہ فائل کو ریپوزٹری میں پڑھنے کے قابل کنفیگ فائل بنانا ہو تو عموماً یہی سمت درکار ہوتی ہے۔