UltKit

JSON-u XML-ə çevirmək

JSON məlumatlarını yalnız XML qəbul edən proqrama ötürün. Hər qeyd bir elementə, hər açar alt teqə çevrilir, bütün sənəd isə adını özünüz seçdiyiniz bir kök elementin içində yerləşir.

Məlumat çevirici

və ya CSV, TSV, TXT … faylları bura sürüşdürün ·

Hər fayl üçün maks. 95 MB· 20 fayla qədər· 30 dəqiqədən sonra silinir

Nəticə

Fayllar serverlərimizdə emal olunur və 30 dəqiqədən sonra silinir.

Bu alətdən necə istifadə etməli

  1. 1

    JSON faylını yükləyin

    API cavabı kimi .json faylını və ya JSON Lines faylını əlavə edin. 20-yə qədər fayl, hər biri 95 MB-a qədər.

  2. 2

    Kök elementə ad verin

    Əlavə ayarlar bölməsində xarici teqi XML kök teqi sahəsinə yazın (ilkin dəyər rows-dur) və girintili çıxış üçün Oxunaqlı formatlama seçimini açıq saxlayın.

  3. 3

    Çevirin və uyğunlaşdırın

    Convert to XML düyməsinə basın və faylı endirin. Qəbul edən sistemin sxemi fərqli adlar tələb edirsə, teqlərin adını dəyişin.

API-lərin çoxu JSON-a keçibsə, JSON-u niyə XML-ə çevirmək lazımdır

Veb API-lərdə JSON qalib gəldi; onun hazırkı spesifikasiyası, 2017-ci ilin RFC 8259 sənədi, bir neçə səhifəyə sığır. XML daha köhnədir, 1998-ci ilin fevralından W3C Tövsiyəsidir və müqavilələrin ciddi olduğu yerləri heç tərk etmədi: bankçılıq, elektron faktura, nəşriyyat və dövlət hesabatları.

Buna görə bu çevirmənin istiqaməti adətən pula və ya tənzimləməyə tabe olur. Tərtibatçı sifarişləri JSON API-dən götürür və tərəfdaşın SOAP xidmətinə göndərməlidir. Mağaza məhsulları JSON-da saxlayır, müqayisə saytı isə XML feed istəyir. Komanda tərcümələri JSON kimi saxlayır, Android build isə strings.xml gözləyir. Təyinat cədvəldirsə, JSON-dan CSV-yə elementlər əvəzinə sətirlər verir.

Hələ də XML girişi gözləyən sistemlər

JSON-dan XML-ə çevirici harada işlənir
TəşkilatTələbMənbə
SOAP veb xidmətləriHər sorğu XML zərfi kimi göndərilir; SOAP 1.2 2003-cü ildə W3C Tövsiyəsi oldu—
Google Merchant CenterMəhsul feedləri ayırıcılı mətndən başqa, RSS 2.0 və ya Atom 1.0 formatında XML kimi qəbul olunur—
Peppol elektron fakturasıFakturalar Peppol BIS Billing 3.0 qaydaları ilə UBL 2.1 XML sənədləri kimi mübadilə olunur—
Android tətbiqləriMətn resursları və tərcümələr res/values/strings.xml faylında saxlanır—

JSON-dan XML-ə nümunə: iki məhsul

[{"sku":"A-17","price":12.5,"tags":["yeni","endirim"]}, {"sku":"B-02","price":8}] məlumatından yazılmış XML
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>yeni</tags>
    <tags>endirim</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

MifJSON və XML bir-birinə tam uyğun gəlir, ona görə çevirmə dəqiqdir.

FaktXML-də JSON-da olmayan atributlar, qarışıq məzmun və ad fəzaları var, JSON-da isə XML-də olmayan tiplər var. Çevirici bir uyğunluq seçməlidir; bu çevirici hər yerdə uşaq elementlərdən istifadə edir.

Mif12.5 rəqəmi XML-də də rəqəm olaraq qalır.

FaktXML simvolları saxlayır. 12.5 sxem və ya oxuyan proqram onun onluq ədəd olduğunu deyənə qədər mətndir.

JSON XML-ə çevriləndə nə dəyişir

Üç məqamı yoxlamaq lazımdır. Tiplər mətnə çevrilir, ona görə true, null və 0 simvol kimi gəlir; null adətən boş elementə çevrilir. Düzgün XML adı olmayan açarların adı dəyişdirilməlidir, çünki teq rəqəmlə başlaya və ya boşluq saxlaya bilməz. Çıxış da böyük olur, çünki hər dəyər açarı təkrarlayan açılış və bağlanış teqinə bürünür.

Başqa heç nə itmir. İç-içə quruluş iç-içə elementlər kimi qalır, qeydlərin sırası saxlanır, Unicode mətn isə fayl UTF-8 ilə yazıldığı üçün pozulmur. YAML-dan SQL-ə qədər strukturlaşdırılmış məlumat üçün digər seçimlər məlumat çevirici səhifəsindədir.

JSON və XML formatları haqqında faktlar

JSON

JavaScript Object Notation

JSON strukturlaşdırılmış məlumatlar üçün yüngül mətn formatıdır, 2000-ci illərin əvvəlində Douglas Crockford tərəfindən məşhurlaşdırılıb və RFC 8259 və ECMA-404 kimi standartlaşdırılıb. O, obyektləri, massivləri, sətirləri, ədədləri, məntiqi dəyərləri və null-u sadə, oxunaqlı sintaksislə təqdim edir. Veb API-lər, konfiqurasiya faylları və demək olar ki, bütün proqramlaşdırma dillərində tətbiqlər arasında məlumat mübadiləsi üçün standart formatdır. İçində şərh, tarix və sxem yoxdur, böyük iç-içə fayllar isə görüntüləyicisiz çətin oxunur.

Sıxılma
–
Şəffaflıq
–
Animasiya
–
İlk dəfə təqdim edilib
2001 · Douglas Crockford
JSON konvertoru

XML

Extensible Markup Language

XML W3C tərəfindən 1998-ci ildə dərc edilmiş struktur məlumatlar üçün işarələmə dilidir. Atributlu iç-içə teqlərdən istifadə edir, sxemləri, ad fəzalarını və doğrulamanı dəstəkləyir, bu da onu mürəkkəb sənədlər üçün möhkəm edir. RSS lentləri, SVG, Office sənədləri, sayt xəritələri və bir çox korporativ və dövlət məlumat mübadiləsinin əsasındadır. XML JSON ilə müqayisədə sözçoxdur, lakin hər proqramlaşdırma dili və bir çox cədvəl aləti onu oxuya bilir.

Sıxılma
–
Şəffaflıq
–
Animasiya
–
İlk dəfə təqdim edilib
1998 · W3C
XML konvertoru

JSON müasir məlumat köhnə müqaviləyə daxil olmalı olduqda XML-ə çevrilir: SOAP endpoint, məhsul feedi, elektron faktura şəbəkəsi və ya istehlakçısı fiqurlu mötərizələri deyil, elementləri oxumaq üçün yazılmış konfiqurasiya faylı.

JSON-dan XML-ə çevirici: tez-tez verilən suallar

JSON massivlə başlayırsa, XML-ə niyə bir kök element lazımdır?

XML 1.0 spesifikasiyası hər düzgün qurulmuş sənəddə qalan hər şeyi əhatə edən tam bir element olmasını tələb edir. JSON massivində belə bir əhatə yoxdur, ona görə çevirici onu əlavə edir, adını XML kök teqi təyin edir və massivin hər elementini onun içinə <row> kimi yerləşdirir.

"2024 total" və ya "unit price" kimi JSON açarları necə dəyişir?

Bunların heç biri düzgün XML element adı deyil: adlar rəqəmlə başlaya və ya boşluq saxlaya bilməz. Belə açarların adını çevirməzdən əvvəl JSON-da dəyişin, mümkünsə qəbul edən sxemin işlətdiyi dəqiq teq adlarına, beləliklə çıxışı sonradan təmizləmək lazım olmasın.

Qeydin içindəki JSON massivi XML-də necə yazılır?

Hər element üçün bir dəfə təkrarlanan eyni element kimi. Üç sətirdən ibarət tags massivi ardıcıl üç <tags> elementinə çevrilir. Boş massiv heç nə qoymur; JSON-dan XML-ə çevirmədə məlumatın itdiyi az sayda hallardan biri budur.

XML tərəfdaşımın XSD yoxlamasından keçəcəkmi?

Yalnız struktur əvvəlcədən uyğundursa. Çevirici JSON-un sədaqətli və düzgün qurulmuş surətini yazır; tərəfdaşın tələb etdiyi element sırasını, ad fəzalarını və ya atributları bilə bilməz. Çıxışı başlanğıc kimi istifadə edib sxemə uyğunlaşdırın.

XML-i yenidən JSON-a çevirmək olarmı?

XML-dən JSON-a alətindən istifadə edin. Geri çevirmədə kiçik fərqlər gözləyin: XML hər dəyəri mətn kimi saxlayır, ona görə JSON-da rəqəm və ya true olan dəyər sətir kimi qayıda bilər.