YAML ਨੂੰ JSON ਪਰਿਵਰਤਕ
ਤੇਜ਼ ਅਤੇ ਸੁਰੱਖਿਅਤ YAML ਤੋਂ JSON ਪਰਿਵਰਤਨ। ਸੰਰਚਨਾ ਫਾਈਲਾਂ ਅਤੇ ਡੇਟਾ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਸੰਪੂਰਨ.
ਤੇਜ਼ ਅਤੇ ਸੁਰੱਖਿਅਤ YAML ਤੋਂ JSON ਪਰਿਵਰਤਨ। ਸੰਰਚਨਾ ਫਾਈਲਾਂ ਅਤੇ ਡੇਟਾ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਸੰਪੂਰਨ.
YAML ਅਤੇ JSON ਨੇੜਿਓਂ ਸਬੰਧਿਤ ਫਾਰਮੈਟ ਹਨ — JSON ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ YAML 1.2 ਦਾ ਇੱਕ ਸਖਤ ਸਬਸੈੱਟ ਹੈ — ਅਤੇ ਉਹਨਾਂ ਵਿਚਕਾਰ ਬਦਲਣਾ ਆਮ ਤੌਰ 'ਤੇ ਸਿੱਧਾ ਹੁੰਦਾ ਹੈ। YAML ਮਨੁੱਖੀ-ਅਨੁਕੂਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਜੋੜਦਾ ਹੈ ਜਿਹਨਾਂ ਦੀ JSON ਵਿੱਚ ਘਾਟ ਹੈ: ਟਿੱਪਣੀਆਂ, ਮਲਟੀ-ਲਾਈਨ ਸਤਰ ਬਿਨਾਂ ਬਚਣ, ਐਂਕਰ ਅਤੇ ਉਪਨਾਮ ਹਵਾਲੇ, ਵਧੇਰੇ ਲਚਕਦਾਰ ਹਵਾਲਾ, ਅਤੇ ਇੰਡੈਂਟੇਸ਼ਨ-ਆਧਾਰਿਤ ਬਣਤਰ ਜੋ ਕੁਦਰਤੀ ਦਸਤਾਵੇਜ਼ ਲੇਆਉਟ ਦੇ ਸਮਾਨ ਹੈ। ਇਹ YAML ਨੂੰ ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲਾਂ (ਕੁਬਰਨੇਟਸ ਮੈਨੀਫੈਸਟ, ਗਿਟਹਬ ਐਕਸ਼ਨ ਵਰਕਫਲੋਜ਼, ਡੌਕਰ ਕੰਪੋਜ਼) ਲਈ ਪ੍ਰਸਿੱਧ ਵਿਕਲਪ ਬਣਾਉਂਦਾ ਹੈ ਜਦੋਂ ਕਿ JSON API ਪੇਲੋਡਾਂ 'ਤੇ ਹਾਵੀ ਹੁੰਦਾ ਹੈ।
YAML ਨੂੰ JSON ਵਿੱਚ ਬਦਲਣ ਦਾ ਮਤਲਬ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਫਾਰਮੈਟ ਦੇ ਬਦਲੇ YAML ਦੇ ਮਨੁੱਖੀ-ਅਨੁਕੂਲ ਵਾਧੂ ਨੂੰ ਛੱਡਣਾ ਹੈ ਜੋ ਮਸ਼ੀਨਾਂ ਨੂੰ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਪਾਰਸ ਕਰਦਾ ਹੈ ਅਤੇ ਇਹ HTTP APIs ਦਾ ਭਾਸ਼ਾਈ ਫਰੈਂਕਾ ਹੈ। ਟਿੱਪਣੀਆਂ ਛੱਡ ਦਿੱਤੀਆਂ ਗਈਆਂ ਹਨ (JSON ਦਾ ਕੋਈ ਨਹੀਂ ਹੈ)। ਐਂਕਰ ਹਵਾਲੇ ਉਹਨਾਂ ਦੇ ਸੰਦਰਭ ਮੁੱਲਾਂ ਵਿੱਚ ਹੱਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਏਮਬੈਡਡ ਨਵੀਆਂ ਲਾਈਨਾਂ ਦੇ ਨਾਲ ਮਲਟੀ-ਲਾਈਨ ਸਤਰ ਮਿਆਰੀ JSON ਸਟ੍ਰਿੰਗਾਂ 'ਤੇ ਸਮੇਟਦੀਆਂ ਹਨ।
ਇਹ ਕਨਵਰਟਰ js-yaml ਦੀ ਵਰਤੋਂ ਕਰਕੇ YAML ਨੂੰ ਪਾਰਸ ਕਰਦਾ ਹੈ, JavaScript ਵਿੱਚ ਸਭ ਤੋਂ ਵੱਧ ਵਰਤੀ ਜਾਂਦੀ YAML ਲਾਇਬ੍ਰੇਰੀ। ਵਿਕਲਪਿਕ ਇੰਡੈਂਟੇਸ਼ਨ ਦੇ ਨਾਲ JSON.stringify ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਉਟਪੁੱਟ ਤਿਆਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਪਰਿਵਰਤਨ ਸਾਰੇ ਮਿਆਰੀ YAML 1.2 ਸੰਟੈਕਸ ਨੂੰ ਹੈਂਡਲ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਪ੍ਰਵਾਹ ਸ਼ੈਲੀ, ਬਲਾਕ ਸ਼ੈਲੀ, ਸਕੇਲਰ, ਕ੍ਰਮ, ਮੈਪਿੰਗ, ਐਂਕਰ, ਉਪਨਾਮ, ਅਤੇ ਸਟੈਂਡਰਡ ਟੈਗ ਕਿਸਮਾਂ ਸ਼ਾਮਲ ਹਨ।
ਜ਼ਿਆਦਾਤਰ API ਅਤੇ ਬਹੁਤ ਸਾਰੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਾਤਾਵਰਣ JSON ਦੀ ਉਮੀਦ ਕਰਦੇ ਹਨ. YAML ਵਿੱਚ ਲਿਖੀਆਂ ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲਾਂ ਨੂੰ JSON ਵਿੱਚ ਤਬਦੀਲ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਕੋਡ ਜਾਂ ਸੇਵਾਵਾਂ ਜੋ ਸਿਰਫ਼ JSON ਨੂੰ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਦੇ ਹਨ। JSON ਲਈ ਟੂਲਿੰਗ ਵੀ ਵਧੇਰੇ ਭਰਪੂਰ ਹੈ: jq, JSON ਪਾਥ, JSON ਸਕੀਮਾ, ਅਤੇ ਵੈਲੀਡੇਟਰਾਂ ਅਤੇ ਟ੍ਰਾਂਸਫਾਰਮਰਾਂ ਦਾ ਇੱਕ ਵਿਸ਼ਾਲ ਈਕੋਸਿਸਟਮ ਸਾਰੇ JSON ਇਨਪੁਟ ਨੂੰ ਮੰਨਦੇ ਹਨ।
JSON ਤਰੀਕਿਆਂ ਨਾਲ ਵੀ ਅਸਪਸ਼ਟ ਹੈ YAML ਨਹੀਂ ਹੈ। YAML ਦੀ ਲਚਕਤਾ ਪਾਰਸਿੰਗ ਹੈਰਾਨੀ ਪੈਦਾ ਕਰਦੀ ਹੈ — YAML 1.1 ਵਿੱਚ ਬੁਲੀਅਨ ਫਾਲਸ ਦੇ ਤੌਰ 'ਤੇ 'ਨੋ' ਪਾਰਸਿੰਗ ਵਰਗੀਆਂ ਸਟ੍ਰਿੰਗਾਂ, ਫਲੋਟਸ ਦੇ ਤੌਰ 'ਤੇ ਪਾਰਸ ਕਰਨ ਵਾਲੇ ਵਰਜਨ ਸਤਰ, ਸ਼ਾਂਤ ਢਾਂਚਾਗਤ ਤਬਦੀਲੀਆਂ ਪੈਦਾ ਕਰਨ ਵਾਲੀਆਂ ਇੰਡੈਂਟੇਸ਼ਨ ਗਲਤੀਆਂ। JSON ਵਿੱਚ ਬਦਲਣਾ ਡੇਟਾ ਨੂੰ ਘੱਟ-ਅਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਫ੍ਰੀਜ਼ ਕਰਦਾ ਹੈ।
YAML ਪੇਸਟ ਕਰੋ, JSON ਪ੍ਰਾਪਤ ਕਰੋ।
js-yaml YAML 1.1 ਕੁਇਰਕਸ ਲਈ ਵਿਕਲਪਿਕ ਸਮਰਥਨ ਨਾਲ YAML 1.2 ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ ('no'-as-false issue, 0o ਅਗੇਤਰ ਤੋਂ ਬਿਨਾਂ ਅਸ਼ਟ ਸੰਖਿਆਵਾਂ)। ਪਾਰਸਰ ਮੂਲ ਕਿਸਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ JavaScript ਆਬਜੈਕਟ ਟ੍ਰੀ ਬਣਾਉਂਦਾ ਹੈ: ਨੰਬਰ, ਸਟ੍ਰਿੰਗਜ਼, ਬੁਲੀਅਨ, ਨਲ, ਐਰੇ ਅਤੇ ਪਲੇਨ ਆਬਜੈਕਟ।
JSON.stringify ਆਬਜੈਕਟ ਟ੍ਰੀ ਨੂੰ JSON ਲਈ ਸੀਰੀਅਲਾਈਜ਼ ਕਰਦਾ ਹੈ। ਵਿਕਲਪਿਕ ਇੰਡੈਂਟੇਸ਼ਨ ਪਰੈਟੀ-ਪ੍ਰਿੰਟਿਡ ਆਉਟਪੁੱਟ ਪੈਦਾ ਕਰਦਾ ਹੈ; ਇਸਦੇ ਬਿਨਾਂ ਨਤੀਜਾ ਸੰਖੇਪ ਸਿੰਗਲ-ਲਾਈਨ JSON ਹੈ। ਵਿਸ਼ੇਸ਼ ਮੁੱਲ (NaN, ਅਨੰਤ, ਪਰਿਭਾਸ਼ਿਤ) ਵੈਧ JSON ਨਹੀਂ ਹਨ; ਕਨਵਰਟਰ ਉਹਨਾਂ ਨੂੰ ਜਬਰਦਸਤੀ ਖਾਲੀ ਕਰ ਦਿੰਦਾ ਹੈ ਜਿੱਥੇ ਮੌਜੂਦ ਹੁੰਦਾ ਹੈ।
ਕਿਨਾਰੇ ਦੇ ਕੇਸ: YAML ਟਾਈਮਸਟੈਂਪ JSON ਵਿੱਚ ISO-8601 ਸਤਰ ਬਣ ਜਾਂਦੇ ਹਨ। YAML ਬਾਈਨਰੀ ਡੇਟਾ (base64-encoded) ਇੱਕ ਸਤਰ ਬਣ ਜਾਂਦਾ ਹੈ। ਐਂਕਰਾਂ ਅਤੇ ਉਪਨਾਮਾਂ ਨੂੰ JSON ਵਿੱਚ ਡੁਪਲੀਕੇਟ ਮੁੱਲਾਂ ਵਿੱਚ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕਿਉਂਕਿ JSON ਦਾ ਕੋਈ ਸੰਦਰਭ ਸੰਟੈਕਸ ਨਹੀਂ ਹੈ।