JSON-ը (JavaScript Object Notation) թեթև, տեքստային տվյալների ձևաչափ է, որը կառուցված է ներդրված բանալի-արժեք զույգերից և զանգվածներից, և նախատեսված է կառուցվածքային տվյալները ներկայացնելու այնպես, որ մեքենաների համար հեշտ լինի վերլուծել, և մարդու համար համեմատաբար հեշտ լինի անմիջապես կարդալ: Այն ծագել է JavaScript-ից, բայց այժմ լեզվից անկախ է և դարձել է ժամանակակից վեբ API-ների մեծ մասի լռելյայն ձևաչափը՝ փոխարինելով ինտեգրման բազմաթիվ դեպքերի համար ավելի հին, ավելի մանրամասն այլընտրանքները: Հոսքերի կառավարման մեջ JSON-ը ավելի քիչ է երևում որպես վերջնական գնումների հոսքի ձևաչափ և ավելի շատ որպես ձևաչափ, որով այդ հոսքի շուրջ ամեն ինչ ավելի ու ավելի է աշխատում:
Ինչու է JSON-ը կարևոր հոսքային ինտեգրացիաների համար
Առևտրային ալիքին անմիջապես ուղարկվող ապրանքային հոսքերի մեծ մասը դեռևս XML կամ CSV են, բայց այդ հոսքերը կառուցող և կառավարող համակարգերը՝ PIM-ները, ERP-ները, հոսքերի կառավարման հարթակները և դրանք բոլորը միացնող API-ները, միմյանց հետ շփվում են հիմնականում JSON-ով: Երբ հոսքերի կառավարման գործիքը API-ից վերցնում է իրական գույքագրումը , ստուգում է պաշարները webhook-ի միջոցով կամ փոխանակում տվյալներ PIM-ի հետ, այդ տվյալները գրեթե միշտ ներքևում JSON են, նույնիսկ եթե դրանք փոխակերպվում են XML-ի՝ Google-ին կամ Meta-ին ուղարկելուց առաջ: JSON-ի հասկացողությունը կարևոր է հոսքերի ինտեգրման հետ կապված խնդիրներ լուծող յուրաքանչյուրի համար, քանի որ համակարգերի միջև կապի մեծ մասը՝ ոչ թե վերջնական հոսքերի ֆայլն է, այն է, որտեղ JSON-ն իրականում գտնվում է:
Ինչպես է աշխատում JSON-ը
JSON փաստաթուղթը կառուցված է պրիմիտիվների փոքր հավաքածուից՝ օբյեկտներ, որոնք բանալի-արժեք զույգեր են՝ փաթաթված գանգուր փակագծերով, զանգվածներ, որոնք դասավորված ցուցակներ են՝ փաթաթված քառակուսի փակագծերով, և սկալյար արժեքներ, ինչպիսիք են տողերը, թվերը և բուլյանները: Ձևաչափն ինքնին պարտադրում է ֆիքսված սխեմա. JSON վերլուծիչը չի պահանջում նախապես սահմանված փաստաթղթի տեսակ, ինչը մասամբ պատճառն է, որ այն այդքան լայնորեն օգտագործվում է API պատասխանների համար, որոնք պետք է զարգանան՝ առանց խափանելու հին հաճախորդները: Երբ հոսքի հարթակը ստանում է JSON բեռ տվյալների հոսքի API-ից կամ webhook-ից, այն սովորաբար վերլուծում է այդ կառուցվածքը և համապատասխանեցնում դրա դաշտերը նպատակակետի հոսքի ձևաչափի՝ հաճախ XML-ի, իրականում պահանջվողին:
Օրինակ՝ XML Feed Element-ի հետևում գտնվող JSON տվյալները
<!--
Source payload from the merchant's API, before conversion:
{
"sku": "SKU-51290",
"title": "Recycled Denim Tote Bag",
"price": { "amount": 38.00, "currency": "USD" },
"availability": "in_stock"
}
-->
<item>
<g:id>SKU-51290</g:id>
<title>Recycled Denim Tote Bag</title>
<g:price>38.00 USD</g:price>
<g:availability>in stock</g:availability>
</item>
Մեկնաբանված բլոկը ցույց է տալիս նույն ապրանքը, ինչ որ գոյություն ունի JSON ձևաչափով, այն ձևաչափով, որը API-ից վերցնում են հոսքային կառավարման գործիքների մեծ մասը, նախքան այն հարթեցվի գնումների ալիքի կողմից սպասվող XML թեգերի մեջ։
Առնչվող հասկացություններ
JSON-ը այն կապակցող ձևաչափն է, որը ծառայում է ավտոմատացման մեծ մասի հիմքում, որից այժմ կախված են հոսքերը, լինի դա API, որը վերադարձնում է իրական բաժնետոմսերի տվյալներ, թե վեբհուկ, որը գնի փոփոխություն է առաջացնում սկզբնական համակարգում դրա տեղի ունենալու պահին: Այն նաև ավելի ու ավելի հաճախ է հայտնվում որպես տվյալների հոսքի այլընտրանքային ներկայացման ձևաչափ, քանի որ ավելի շատ հարթակներ իրենց ավանդական XML և CSV աջակցության հետ մեկտեղ ավելացնում են JSON-ի վրա հիմնված վերբեռնման տարբերակներ: