Ինչպես JSON-ը փոխարկել CSV-ի
Տեղադրեք վավեր JSON տեքստ, անհրաժեշտության դեպքում ընտրեք մեկ նիշանոց բաժանարար և գործարկեք փոխարկումը՝ CSV տեքստ ստանալու համար։ Մեկ օբյեկտը դառնում է մեկ գրառում, իսկ զանգվածը պետք է լինի ոչ դատարկ և սկսվի օբյեկտից։
JSON և CSV տվյալների փոխարկման նպատակը
JSON-ից CSV ստանալու համար այս գործիքը նախատեսված է այն դեպքերի համար, երբ տվյալները ցանկանում եք ներկայացնել տողերով և սյունակներով։ Մուտքում կարող եք տրամադրել մեկ JSON օբյեկտ կամ օբյեկտներ պարունակող զանգված, իսկ արդյունքը ստացվում է CSV տեքստի տեսքով։ Մեկ օբյեկտը դիտարկվում է որպես մեկ գրառում, իսկ զանգվածի յուրաքանչյուր մշակված գրառումից հետո ավելացվում է մեկ CSV տող։
Մուտքը պետք է լինի JSON տեքստ, ոչ թե դրա ազատ նկարագրությունը։ Դատարկ կամ միայն բացատներից կազմված դաշտը չի ընդունվում, իսկ սխալ շարահյուսությամբ JSON-ը մերժվում է։ Վերին մակարդակի մեկ օբյեկտը կարող է անմիջապես օգտագործվել։ Զանգվածի դեպքում այն պետք է ոչ դատարկ լինի և սկսվի օբյեկտով։ Դատարկ զանգվածը, օբյեկտով չսկսվող զանգվածը կամ մեկ այլ վերին մակարդակի արժեքը փոխարկման համար ընդունելի չէ։
CSV-ի բաժանարարի լռելյայն ընտրությունը ստորակետն է։ Եթե ձեր տվյալների արժեքների մեջ ստորակետեր կան, կարող եք տրամադրել մեկ այլ բաժանարար, սակայն պետք է հաշվի առնել դրա ձևափոխման կանոնը։ Տրամադրված արժեքը նախ վերածվում է տեքստի, իսկ մեկ նիշից երկար լինելու դեպքում պահպանվում է միայն առաջին նիշը։ Դատարկ տրամադրված արժեքը կրկին հանգեցնում է ստորակետի օգտագործմանը։
Փոխարկման հերթականությունը
-
Նախապատրաստեք JSON-ը որպես վավեր տեքստ։ Ստուգեք, որ օբյեկտների անուններն ու տեքստային արժեքները գրված են կրկնակի չակերտների մեջ, փակագծերը զույգ են, իսկ տարրերի միջև ստորակետերը տեղադրված են ճիշտ դիրքում։ Հեռացրեք միայն բացատներով մնացած մուտքը, քանի որ այն տվյալների աղբյուր չի ստեղծում։
-
Եթե աշխատում եք մեկ գրառման հետ, պատրաստեք վերին մակարդակի օբյեկտ, օրինակ՝
{"անուն":"Անի","տարիք":30}։ Եթե ունեք մի քանի գրառում, դրանք դասավորեք զանգվածում և համոզվեք, որ զանգվածի առաջին տարրը օբյեկտ է։ Օրինակ՝[ {"անուն":"Անի","տարիք":30}, {"անուն":"Հայկ","քաղաք":"Գյումրի"} ]կառուցվածքը անցնում է նախնական ստուգումը։ -
Տեղադրեք պատրաստված տեքստը փոխարկիչի մուտքի դաշտում։ Մեկ օբյեկտի դեպքում գործիքը այն մշակում է որպես մեկ գրառում, մինչդեռ զանգվածի դեպքում գրառումները վերցվում են դրա տարրերից։ Մի ենթադրեք, որ առաջին տարրի ճիշտ լինելը հաստատում է զանգվածի մնացած տարրերի կառուցվածքը։
-
Անհրաժեշտության դեպքում սահմանեք բաժանարարի արժեքը։ Մեկ նիշը, օրինակ՝
;-ը, օգտագործվում է որպես տվյալների դաշտերի բաժանիչ։;կամ մեկ այլ բազմանիշ արժեք տրամադրելիս արդյունքի բաժանարարը դառնում է միայն առաջին նիշը, իսկ դատարկ ընտրությունը պահպանում է ստորակետը։ -
Գործարկեք փոխարկումը և ուսումնասիրեք ստացված CSV տեքստը։ Վերնագրի դաշտերը հավաքվում են մշակվող գրառումներում հանդիպող տարբեր անուններից՝ պահպանելով դրանց առաջին հանդիպման հերթականությունը։ Դրանից հետո յուրաքանչյուր մշակված գրառման համար ստեղծվում է մեկ տվյալների տող։
-
Մինչև արդյունքը մեկ այլ համակարգում օգտագործելը, համեմատեք վերնագրի հերթականությունը ձեր ակնկալած սյունակների հետ։ Ստուգեք նաև այն գրառումները, որոնցում որոշ դաշտեր բացակայում են, և համոզվեք, որ ընտրված բաժանարարը չի շփոթվում արժեքների բովանդակության հետ։
Արդյունքի ընթերցումն ու սահմանները
CSV-ի առաջին տողը վերնագիրն է, և այն պարտադիր չէ, որ կրկնի առաջին գրառման դաշտերի կարճ ցանկը։ Եթե հաջորդ մշակվող գրառման մեջ հայտնվում է նոր դաշտ, այդ անունը նույնպես մտնում է վերնագիր՝ իր առաջին հայտնվելու դիրքին համապատասխան։ Այս կանոնը կարող է սյունակների քանակը մեծացնել տվյալների սկզբնական հատվածում երևացող դաշտերի համեմատ։
Երբ որևէ գրառում չունի վերնագրում առկա դաշտը, այդ սյունակի համար գրվում է դատարկ տեքստային արժեք։ Այդ դատարկ դիրքը նշանակում է, որ տվյալ գրառման մեջ համապատասխան դաշտ չի եղել, և ոչ թե այն, որ փոխարկիչը լրացրել է անհայտ տվյալ։ Արդյունքում տողերի և վերնագրի սյունակների համապատասխանությունը պետք է կարդալ ըստ դիրքի։
CSV տողերում ներառվող արժեքները նախ վերածվում են տեքստի։ Հետևաբար արդյունքը պետք է դիտարկել որպես CSV ներկայացում, ոչ թե սկզբնական JSON-ի նույն կառուցվածքի պատճեն։ Հաստատված վարքագիծը չի նշանակում, որ ներդրված օբյեկտներն ու զանգվածները կբաժանվեն առանձին սյունակների։
Զանգվածի հետ աշխատելիս ստուգեք ոչ միայն առաջին տարրը, այլև հետագա տարրերի գործնական համատեղելիությունը։ Առաջին տարրը կարող է լինել օբյեկտ, մինչդեռ ավելի ուշ հանդիպող թիվը, null-ը կամ մեկ այլ զանգված առանձին չի ստուգվում որպես օբյեկտ և կարող է մշակման ընթացքում ձախողման պատճառ դառնալ։ Նման կառուցվածքի դեպքում նախապես վերադասավորեք տվյալները այնպես, որ գրառումները նույնատիպ օբյեկտներ լինեն։
Գործնական օրինակ
Դուք ցանկանում եք մեկ մարդու անունն ու տարիքը ստանալ CSV-ի մեկ տողում և մուտքագրում եք {"անուն":"Անի","տարիք":30} օբյեկտը։
Տեղադրեք նշված օբյեկտը որպես JSON մուտք և օգտագործեք լռելյայն ստորակետ բաժանարարը։
Արդյունքը կունենա անուն,տարիք վերնագիրը և մեկ տվյալների տող՝ Անի,30։
Սահմանափակումներ
- Չեն ընդունվում դատարկ զանգվածները, օբյեկտով չսկսվող զանգվածները և այլ վերին մակարդակի արժեքները։ Զանգվածի ուշ տարրերը առանձին չեն ստուգվում որպես օբյեկտներ, իսկ արժեքները CSV-ում ներկայացվում են տեքստով, առանց հաստատված երաշխիքի, որ ներդրված կառուցվածքները կդառնան առանձին սյունակներ։
Հաճախակի սխալներ
- Դատարկ, միայն բացատներից կազմված կամ սխալ շարահյուսությամբ մուտքը չի կարող փոխարկվել, քանի որ գործիքը նախ պահանջում է JSON տեքստ և մերժում է անվավեր JSON-ը։ Ուղղեք փակագծերը, չակերտները և ստորակետերը, ապա նորից տեղադրեք ամբողջական տեքստը։
Հաճախ տրվող հարցեր
Կարո՞ղ եմ մեկ JSON օբյեկտը վերածել CSV-ի։
Այո, եթե վերին մակարդակում տրամադրված է մեկ JSON օբյեկտ, այն մշակվում է որպես մեկ գրառում, և վերնագրից հետո ստեղծվում է մեկ CSV տող։
Կարո՞ղ եմ JSON զանգվածը փոխարկել CSV-ի։
Այո, պայմանով, որ զանգվածը ոչ դատարկ է և առաջին տարրը օբյեկտ է։ Հետագա տարրերը առանձին չեն ստուգվում որպես օբյեկտներ, ուստի ոչ օբյեկտ տարրը կարող է մշակման ձախողման պատճառ դառնալ։
Ո՞ր բաժանարարն է օգտագործվում CSV-ում։
Բաժանարար չտրամադրելու դեպքում օգտագործվում է ստորակետը։ Դատարկ արժեքը նույնպես հանգեցնում է ստորակետի օգտագործմանը, իսկ մեկից ավելի նիշ ունեցող արժեքից պահպանվում է միայն առաջին նիշը։