JSON формат: өгөгдөл үүсгэх, PHP болон JS-тэй ашиглах. Javascript болон jQuery Json өгөгдлийг ердийн маягтаар ашиглан эхлэгчдэд зориулсан JSON

Хувьсагч, массив, объектууд нь өгөгдлийг дүрслэх танил бөгөөд тохиромжтой хэлбэр юм. PHP серверийн хэлэнд шаардлагагүй JavaScript хөтчийн хэлээр өгөгдлийг тайлбарлах нь заншилтай байдаг. JSON формат нь програмчлалын хэл дээр анхаарлаа төвлөрүүлэхгүйгээр тэдгээрийг бүхэлд нь нэгтгэн дүгнэх боломжийг олгодог. Энэ тохиолдолд өгөгдөл нь хос болж хувирдаг: "нэр = утга". Тэдний тус бүрийн үнэ цэнэ нь ийм хосуудын цуглуулга байж болно.

JSON-г буржгар хаалттай холбох нь заншил бөгөөд сүүлийнх нь нэлээд үндэслэлтэй, учир нь JSON формат = JavaScript объектын тэмдэглэгээ. Сүүлийн, ялангуяа эрч хүчтэй жилүүдэд их зүйл өөрчлөгдсөн. Тодорхой зорилгоор бүтээгдсэн зүйл нь ихэвчлэн гэнэтийн үр дүнг авчирдаг эсвэл шинэ хэтийн төлөвийг нээж өгдөг.

Мэдээлэл солилцох: хөтөч - сервер

AJAX технологи нь уламжлалт, тогтмол хуудсыг шинэчлэх болсон бүхэлдээалдартай байхаа больсон. Сайтыг нээж буй зочин тодорхой хуудсууд зөвхөн хамааралтай газартаа өөрчлөгдөхөд хэд хэдэн хэсэгчилсэн мэдээлэл солилцох ажлыг эхлүүлдэг.

JSON үүссэн нь AJAX-ийн хэрэглээтэй холбоотой гэж үздэг боловч үнэн хэрэгтээ ассоциатив ба түүний объектын тэмдэглэгээ (объектуудыг дүрслэх, ашиглах синтаксийн онцлог) нь JSON-ийн хооронд өгөгдөл солилцохоос хамаагүй илүү хамааралтай байдаг. хөтөч болон сервер.

Орчин үеийн сайтуудын хуудасны агуулга үнэхээр "их хэмжээний" (эзлэхүүн) болсон тул мэдээлэл солилцох форматын үр ашиг онцгой ач холбогдолтой болсон. Энэ нь JSON нь шинэ өгөгдлийн төлөөлөл болсон гэсэн үг биш ч JavaScript синтаксийн элемент байсаар ирсэн нь чухал юм.

Хувьсагчдыг нэрлэхдээ кирилл үсгийг ашиглах нь маш гэнэтийн үзэгдэл (утгагүй зүйл) боловч энэ нь Chrome, Firefox болон Internet Explorer 11-ийн хамгийн сүүлийн хувилбаруудад ажилладаг.

Кирилл ба JSON

Мэдээжийн хэрэг, Орос үсгээр бичсэн хувьсагчдын утгууд нь хов жив болж хувирдагийг санаж, энэ гэнэтийн үзэгдлийг ашиглах нь утгагүй юм: нэрсийн талаар, ялангуяа гадаад нэрсийн талаар бид юу хэлж чадах вэ.

Кирилл үсгээр бичсэн санаачилгыг хөтөчийн гадаад орчин дэмжих нь эргэлзээтэй. Гэхдээ JSON формат нь хөгжүүлэгчийн хүссэнээр нэр, утгыг бичих чадвартай гэсэн энгийн шалтгаанаар энэ баримтыг анхаарч үзэх хэрэгтэй. Энэ нь чухал ач холбогдолтой, учир нь даалгавар бүрт програмын талбайн тодорхойлолт нь дибаг хийх ажлыг ихээхэн хялбарчилж, алдааны тоог бууруулдаг.

Синтаксик шинэчлэлийн үндэс нь JSON байсан нь хамаагүй, энэ нь "ямар ч нэр = ямар ч үнэ цэнэ" гэсэн захидал харилцааг тогтоох хууль ёсны эрх, бодит боломжийг олгох нь чухал юм.

Бид JavaScript хэлэнд хүндэтгэл үзүүлэх ёстой: синтаксоор хангагдсан зүйл нь хөгжүүлэгчийг үүрэг болгохгүй бөгөөд түүнд юу ч ногдуулдаггүй. Хөгжүүлэгч нь өгөгдлийн загвар, тэдгээрийн хэрэглээний алгоритмыг оновчтой болгохын тулд хэлний синтаксийг чөлөөтэй ашигладаг.

PHP болон JSON

JSON форматаар өгөгдлийг хүлээн авснаар сервер (ялангуяа PHP-ээр дамжуулан) үүнийг байгаагаар нь боловсруулж, үр дүнг ижил төстэй форматаар хөтөч рүү буцаах боломжийг олгодог. PHP эх массив:

  • $cJSON = массив ("a"=> "alfa", "b"=> "бета", "g"=> "гамма").

Хөтөч рүү хүргэхийн тулд JSON руу хөрвүүлэх:

  • $cJS = json_encode($cJSON).

Үр дүн:

  • ("a": "alfa", "b": "бета", "г": "гамма").

Зурагт үзүүлсэн үүрлэхийг зөвшөөрнө.

Энд үүсгэсэн массивыг "0" автомат индексээр "өөртөө" шинэ элемент, дараа нь дахин заасан "z" индексээр нэмсэн.

Json_decode() нь JSON мөрийг PHP массив болгон хувиргадаг. Функцуудыг удирдаж, explode() хийснээр ижил төстэй үр дүнд хүрч болно. Зарим тохиолдолд энэ сонголтыг илүүд үздэг.

Үүрлэх түвшин

Элементүүдийг хөтчийн тал болон серверийн аль алинд нь байрлуулж болно. Практикт JSON формат (RFC 4627 стандарт тайлбар) нь 4-өөс дээш түвшний үүрлэх боломжийг олгодог боловч энэ функцийг буруугаар ашиглах ёсгүй.

Хэзээ ч боломжийн хэмжээнээс хэтрэхгүй байх нь хамгийн сайн арга бөгөөд энэ нь кодыг унших боломжтой болгож, бусад хөгжүүлэгчдэд дибаг хийх, ойлгоход хялбар болгодог.

JSON-ийг ихэвчлэн XML-ээс хялбар, хүмүүс болон компьютерт ойлгомжтой өгөгдлийн бүтэц гэж нэрлэдэг. Өгөгдлийн хэмжээ бага, хөгжүүлэгч нь үүрлэх түвшинг ухаалгаар сонгосон тохиолдолд энэ нь үнэн юм. Бусад бүх тохиолдолд хаалтны тоог тоолж, ойлгох нь хөтөч болон серверийн аль алинд нь хэцүү байдаг.

JSON файлууд

JSON-г практикт ашиглах нь ихэвчлэн хүний ​​унших боломжтой богино мөрт хязгаарлагдахгүй. Аливаа өгөгдлийн бүтэц нь үргэлж прагматик байдаг. Үүний зэрэгцээ JSON-ийг бодит ажлын өгөгдөл (аж ахуйн нэгжийн ажилтнууд) болон түр зуурын өгөгдлийг (объект кэш) хэрэгжүүлэхэд үр дүнтэй ашиглаж болно.

Байгууллагын ажилтнууд ба JSON формат: жишээ

Ихэвчлэн нэг хүний ​​тухай тэмдэглэл нь овог, нэр, овог нэр, төрсөн он, мэргэжил, боловсрол, ... болон бусад хэд хэдэн энгийн утгууд юм. Ялангуяа эрэлт хэрэгцээтэй компаниудад ч гэсэн нэг хүний ​​тухай рекорд арав, хоёр талбараас хэтрэхгүй. Энэ нь мэдрэгдэхүйц бөгөөд мэдээллийн сангийн мөрөнд байрлуулж болно.

Хэрэв компанид хэд хэдэн хүн ажилладаг бол энэ нь нэг хэрэг, харин хэдэн арван мянган хүн байвал энэ нь огт өөр юм. Та мэдээллийн санг үргэлжлүүлэн ашиглаж болно, гэхдээ үүнийг файл хэлбэрээр хадгалах нь илүү практик бөгөөд ашиглахад хялбар юм шиг санагддаг.

JSON бол энгийн текст файл юм. Боловсон хүчний хүснэгттэй холбоотой хэргийг хэлэх аргагүй. Та үүнийг үргэлж уншиж болно. Файлын агуулгад өөрийн үйлчилгээний мэдээллийг нэмэх зуршилгүй аливаа текст засварлагчийг нээх, засварлах боломжтой. Ерөнхийдөө *.json нь хөтөч дотор болон файлын доторх цэвэр текст юм - мөр.

Зураг нь зургийг бүрдүүлж буй объектын кэшийг харуулж байна, жишээ нь.

Энэ бол аяга, керамик эдлэл дээр өнгөт 3D хэвлэх боломжийг олгодог сайтын үүсгэсэн файлын агуулгын жишээ юм. Мэдээжийн хэрэг, ийм JSON форматтай байх нь үүнийг хэрхэн нээхээ шийдэх нь үнэхээр асуудалтай байдаг. Гэсэн хэдий ч, энэ болон үүнтэй төстэй тохиолдолд файлыг уншихад асуудал гардаггүй: PHP нь файлыг уншиж, задлан шинжилж, хөтөч рүү дамжуулдаг. Зочин өөрчилсөн өгөгдлийг серверт буцааж, буцааж бичнэ.

Энэ хэрэглээний тохиолдолд файл нь кодын гадна хадгалагдсан хувьсагчийн үүрэг гүйцэтгэдэг. Шаардлагатай бол хувьсагч нь файлаас утгыг хүлээн авах бөгөөд хэрэв сайтаас өгсөн харилцах цонхонд зочин өөрчилсөн бол бүх өөрчлөлтийг байгаагаар нь бүртгэнэ. Файлын агуулгыг уншиж, шалгах шаардлагагүй.

JSON нь ихэвчлэн үйлчилгээний мэдээллийг хадгалах, ашиглахад ашиглагддаг - энэ нь боловсон хүчний хүснэгт биш бөгөөд хөгжүүлэгч болон сайтын зочдод үүнийг харах шаардлагагүй.

XML болон JSON

“Бүх зүйлд цаг хугацаа бий” гэдэг нь програмчлал үүсэхээс өмнө аксиом гэж хүлээн зөвшөөрөгдсөн сонгодог мэдлэг юм. "Юу ч гарч ирдэггүй" - энэ нь хүн хиймэл хэлээр анхны ойлгомжтой програмыг бичихээс өмнө болсон юм.

Өгөгдлийн форматууд нь бодит хэрэгцээнээс үүдэлтэй бөгөөд олж авсан мэдлэг дээр суурилдаг. HTML нь өөрийн гэсэн замтай, XML нь өөрийн гэсэн замтай, JSON нь бусад хэл рүү өргөтгөсөн JavaScript объект логик юм. Нэгийг нь нөгөөтэй нь харьцуулах нь тийм ч сайн зүйл биш. Хүн бүр өөрийн гэсэн.

XML нь даалгавраа гайхалтай даван туулж, түүх болохгүй нь тодорхой. JSON нь 2006 он хүртэл ашиглагдаж байсан бөгөөд хөгжүүлэгч бүр өөрсдийн өгөгдлөө төлөөлөх зарим сонголтыг зарлах үүрэгтэй гэж үздэггүй.

Практик дээр JSON-г ашиглаагүй программуудыг BASIC хэл дээр бичиж, "нэр = утга" гэсэн хосуудыг төгс хадгалж, зөв ​​цагт нь зөв алгоритмд ашиглах боломжтой болгосон тохиолдол бий.

Тусгай тэмдэгтүүд (“`”, “~”, “|”, ...) болон өгөгдлийн формат

JavaScript дахь ассоциатив массивууд болон объектуудтай ажиллах зуршил нь JSON-г ашиглахад хялбар бөгөөд тохиромжтой болгодог. Энэ бол үнэхээр гайхалтай формат боловч мөр болон массивыг салгах, нэгтгэх чадвар нь илүү гүн үндэстэй.

JavaScript хэлний нэгдэх/хуваах функцууд болон PHP хэлний implode/explode функцууд нь XML, JSON өгөгдлийн формат болон өөрийн хувилбарыг хоёуланг нь хялбар, үр дүнтэй ашиглах боломжийг олгодог. Сүүлийнх нь ихэвчлэн оновчтой байдаг бол эхний хоёр нь ерөнхий хэрэглээний сонголтуудад тохиромжтой байдаг. Хэрэв мэдээллийг өөр хөгжүүлэгч, сервер, файл эсвэл мэдээллийн сан руу шилжүүлж байгаа бол XML болон JSON-г олох илүү сайн арга байхгүй. Хүн бүр тэдэнтэй ажилладаг тул мэдээлэл дамжуулах / хүлээн авах нь тайлбар шаарддаггүй.

Android дээр JSON ашиглаж байна

Андройд дээр JSON форматаар өгөгдлийг унших, бичих нь зөвхөн норм төдийгүй энэ өгөгдлийн форматтай ажиллахад чиглэсэн олон объектууд байдаг.

Энэ тохиолдолд JSON форматыг ашигладаг. Энэ нь үнэн байж магадгүй, гэхдээ асуулт нь нийгмийн сүлжээнүүдийн гайхалтай байдал биш, харин "нэр = үнэ цэнэ" форматаар мэдээллийг танилцуулах нь програмчлал болон ашиглахад үнэхээр тохиромжтой юм. Хатуу, төвөгтэй "XML"-ээс ялгаатай нь энэ нь үнэхээр хүнд ээлтэй формат юм.

Ассоциатив массивууд

Хувьсагчдыг тайлбарлах (JavaScript) эсвэл ядаж анхны утгыг (PHP) зааж өгөх шаардлагатай болдог. Аль ч тохиолдолд хувьсагч төрлөө маш амархан өөрчлөх боломжтой. Шаардлагатай бол хэл нь энэ хөрвүүлэлтийг автоматаар гүйцэтгэдэг.

Гэхдээ яагаад хувьсагч нэрээ сольж, алгоритмыг гүйцэтгэх явцад гарч, шаардлагагүй болсон үед алга болж болохгүй гэж? Ассоциатив массивууд нь энэ асуудлыг шийддэг боловч дараа нь ийм харьцангуй динамик хувьсагчдыг ашиглах үед массивын нэр болон харгалзах синтаксик бүтэц нь хаана ашиглагдаж байгааг дагаж мөрдөх болно.

Энэ нөхцөл байдал нь ялангуяа PHP хэл дээр тод илэрдэг боловч хувьсагчийн нэр дээрх "$" тэмдэг болон объектын доторх "$ this->" хослолтой тул та үүнийг тэсвэрлэж чадна. JavaScript болон PHP хэл дээр нэгэн зэрэг програмчлах нь эхэндээ бүх зүйл өөр байдгийг үнэхээр гайхшруулдаг боловч дараа нь бүх зүйл маш танил, байгалийн болж хувирдаг ...

Ассоциатив массив -> JSON

Энэ жишээнд PHPOffice/PHPWord номын санг ашиглан *.docx баримтыг үүсгэсэн бөгөөд aProperties массив нь энэ баримт бичгийн шинж чанаруудыг (зохиогч, компани, гарчиг, ангилал, үүсгэсэн огноо...) агуулна.

Хоёр дахь массив нь хуудасны өгөгдлийг агуулна:

  • чиг баримжаа (ландшафт эсвэл хэвийн);
  • босоо ба хэвтээ хэмжээсүүд;
  • догол (зүүн, дээд, доод, баруун захын зай);
  • толгой ба хөл хэсэг.

Баримт бичгийг PHPOffice/PHPWord номын сан суулгасан сервер дээр үүсгэнэ. Энэ сайт нь JavaScript ашиглан эдгээр массивуудын утгыг удирдах боломжийг танд олгоно. JSON форматын үр дүнг сервер рүү буцааж, PHP алгоритм, түүний бүтэц, өөрөөр хэлбэл массивуудад ашигладаг.

Динамик хувьсагчид

JSON формат нь динамик хувьсагчийн асуудлыг шийддэг. Эндээс та шаардлагагүй синтаксик эмх замбараагүй байдалгүйгээр хувьсагч үүсгэх, өөрчлөх, устгах боломжтой. Энэ нь сайхан харагддаг бөгөөд JavaScript-д ашиглагддаг.

Энэ жишээнд GetOjInfo() функц нь объектоос утгын нэр болон утгыг татаж авдаг. Эхлээд ojInfo хувьсагчдад оноосон JSON стринг объект нь нэр, нас, ажил гэсэн гурван элементтэй. Хэсэг хугацааны дараа Status хувьсагч нэмэгдэнэ.

Эхний устгах операторын дараа ojInfo мөр нь насны элементээ, хоёр дахь устгасны дараа ажлын элементээ алддаг. Хэрэв бид энэ мөрийг тодорхой утгатай хувьсагчдын сонголт гэж үзвэл JSON ашиглан та JavaScript хэлийг тайлбарлах, боловсруулах үйл ажиллагааны талбараас (синтакс) гадуур тэдгээрийн дурын багцыг үүсгэж, өөрчилж, устгаж болно.

JSON формат нь энэ сонголтод зориулагдаагүй боловч боломжтой, практик, тохиромжтой.

JavaScript нь вэб хуудсуудад харилцан үйлчлэл нэмэх боломжийг олгодог төдийгүй серверийн үүрэг хариуцлага байсан ажлуудыг гүйцэтгэх боломжийг олгодог. JSON нь JavaScript дээр бүтэцлэгдсэн өгөгдлийг үүсгэх, хадгалах хялбар аргыг санал болгодог. JSON нь маш алдартай бөгөөд XML-ийн гайхалтай хувилбар юм. JSON (JavaScript Object Notation) нь нэрнээс нь харахад JavaScript объектуудыг бүтээхэд суурилдаг. JavaScript объектуудыг ижил JavaScript ашиглан хялбархан удирдаж, задлан шинжилж болно.

XML-ээс ялгаатай нь JSON өгүүлбэрүүд нь хүмүүс болон компьютерийн аль алинд нь амархан зохиогддог. Жишээлбэл, JSON форматтай өгөгдлийг хувьсагчдад хуваарилж болно (бид ийм байдлаар объект үүсгэдэг); Энэ өгөгдлийг дараа нь шинээр үүсгэсэн объектоор дамжуулан уншиж болно.

var data=("firstName" : "Ray" ); анхааруулга(өгөгдлийн.firstName);

Эхлээд бид өгөгдлөө хадгалах хувьсагч үүсгэж, дараа нь объектыг тодорхойлохдоо JSON ашигладаг. Бидний объект маш энгийн: firstName талбар ба Ray утга. JSON дахь мөрүүдийг хашилтанд оруулах ёстой. Хэрэв та тоо ашиглаж байгаа бол ишлэлийг сонгох боломжтой.

Энэ жишээ нь хөтөч дээрх firstName шинж чанарын утгыг харуулах болно.

Орлуулагч объект үүсгэх

Илүү бодитой жишээг бий болгоё: JSON өгөгдлийг DOM объект руу оруулна уу.

var data=("firstName":"Ray"); document.getElementById("орлуулагч").innerHTML=data.firstName;

Одоо бид анхааруулга харуулахын оронд өгөгдлийг HTML элемент дотор байрлуулна. JSON өгөгдөл нь мэдээж илүү төвөгтэй байж болно. Өөр хэдэн талбар нэмж үзье.

data=( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ); document.getElementById("placeholder").innerHTML=data.firstName+" "+data.lastName+" "+data.joined;

JSON өгөгдөл нь илүү сайн ойлгохын тулд тодорхой хэлбэрээр форматлагдсан гэдгийг анхаарна уу. "Нэгдсэн" талбар нь 2012 гэсэн утгатай бөгөөд энэ нь тоо учраас хашилт шаарддаггүй. Илүү төвөгтэй зүйлийг харцгаая.

Массив нэмж байна

Хэрвээ бид хэсэг бүлэг хүмүүс рүү орохыг хүсвэл ... дараа нь массив ашиглах хэрэгтэй. JSON дахь массивыг дөрвөлжин хаалт ашиглан үүсгэж болно. Манай өгөгдөл олон хэрэглэгчдэд хэрхэн харагдахыг харцгаая.

Var data=("хэрэглэгч":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ), ( "firstName":"Жон", "овог нэр":"Жонс", "joined":2010 ) ]) document.getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+" "+ data.users.joined;

Бага зэрэг төвөгтэй мэт боловч ойлгоход тийм ч хэцүү биш юм. JSON объектыг буржгар хаалт ашиглан үүсгэсэн; дөрвөлжин хаалт ашиглан массив үүсгэнэ. Тиймээс бид өгөгдлөө цэгцлэхийн тулд хэрэглэгчийн объектыг үүсгэсэн бөгөөд үүнд массив байрлуулсан. Массив нь бусад объектуудыг агуулна. (Нэр/утга) хос бүрийг таслалаар тусгаарлана.

Нэрийг оруулах код хэрхэн өөрчлөгдсөнийг анхаарна уу. Бид шинэ хэрэглэгчдийн объектыг холбож, дараа нь массивын эхний элементийг зааж өгөхийн тулд дөрвөлжин хаалт ашигласан. Өгөгдлийнхөө бүтцэд дахин нэг түвшинг нэмье.

Var data=("хэрэглэгч":[ ( "firstName":"Ray", "lestName":"Villalobos", "нэгдсэн": ( "сар":"1-р сар", "өдөр":12, "жил":2012 ) ), ( "firstName":"Жонс", "овог нэр":"Жонс", "нэгдсэн": ( "сар":"4-р сар", "өдөр":28, "жил":2010 ) ) ]) баримт бичиг. getElementById("орлуулагч").innerHTML=data.users.firstName + " " + data.users.lastName+"--"+ data.users.joined.month;

Нэгдсэн өмч нь олон талбар бүхий объектыг агуулж байна; Массив ашиглах шаардлагагүй тул объектын тэмдэглэгээг ашигладаг. Одоо бид хэд хэдэн хэрэглэгчийн өгөгдөлтэй тул хэрэглэгч бүрээр дамжуулан тэдгээрийг жагсаалтад харуулах цаг болжээ.

Хэрэглэгчдийн жагсаалтыг хэрэгжүүлэх (JSON объектоор дамжин өнгөрөх)

Ингээд javascript-г ашиглаад хэрэглэгчдийн жагсаалтыг гаргацгаая.

Var data = ( "хэрэглэгч":[ ( "firstName":"Ray", "овог нэр":"Villalobos", "нэгдсэн": ( "сар":"1-р сар", "өдөр":12, "жил":2012 ) ), ( "firstName":"Жонс", "овог нэр":"Жонс", "нэгдсэн": ( "сар":"4-р сар", "өдөр":28, "жил":2010 ) ) ]) var гаралт =

    "; ) гаралт+="
"; document.getElementById("орлуулагч").innerHTML=гаралт;

Объектын бүх шинж чанарыг давтахын тулд for..in structure байна:

For(var key in object) ( // түлхүүр - өмчийн нэр // объект - шинж чанарын утга... )

Энд бид массивын бүх элементүүдээр дамждаг; бид өгөгдлийг гаралтын хувьсагчид хадгалж, өгөгдлийг id-тай тэнцүү элементэд байрлуулна. Манай өгөгдөл бага зэрэг удааширч байгааг та хэлж чадна.

Гадаад файлаас JSON уншиж байна

Өгөгдлийг гадны файлд хадгалж, шаардлагатай бол уншвал зүгээр байх болно. Би jQuery номын санг ашиглах гэж байгаа тул эхлээд jQuery номын санг оруулах хэрэгтэй; Дараа нь бид getJSON функцийг дууддаг. Манай код иймэрхүү харагдаж байна:

JSON Жишээ $.getJSON("data.json", функц(өгөгдөл) ( var output="

    "; for (var i in data.users) ( output+="
  • " + data.users[i].firstName + " " + data.users[i].lastName + "--" + data.users[i].joined.сар+"
  • "; ) гаралт+="
"; document.getElementById("орлуулагч").innerHTML=гаралт; ));

Энэ нь бараг ижил код боловч өгөгдлийг гаргаж ирдэг. Бид зүгээр л файлыг унших бүх хүнд ажлыг гүйцэтгэдэг getJSON функцээр бүгдийг багцалсан. Data.json өгөгдлийн файл нь нэг директорт байрладаг бөгөөд дараах байдалтай байна.

("хэрэглэгч":[ ( "firstName":"Ray", "овог нэр":"Villalobos", "нэгдсэн": ( "сар":"1-р сар", "өдөр":12, "жил":2012 ) ), ( "firstName":"Жонс", "овог нэр":"Жонс", "нэгдсэн": ( "сар":"4-р сар", "өдөр":28, "жил":2010 ) ) ])

Таны харж байгаагаар JSON нь уншихад үнэхээр амархан бөгөөд хаалтанд дасвал кодлоход хялбар болдог.

Хэрэв таны компьютер дээр вирусны эсрэг програм суулгасан бол компьютер дээрх бүх файлыг мөн файл бүрийг тус тусад нь сканнердах боломжтой. Та файл дээр хулганы баруун товчийг дараад тохирох сонголтыг сонгосноор ямар ч файлыг сканнердаж болно.

Жишээлбэл, энэ зураг дээр my-file.json файлыг тодруулсан байгаа бол та энэ файл дээр хулганы баруун товчийг дараад файлын цэснээс "AVG ашиглан скан хийх" сонголтыг сонгох хэрэгтэй. Таныг энэ сонголтыг сонгох үед AVG Antivirus програмыг нээж, файлыг вирусыг шалгах болно.


Заримдаа алдаа нь програм хангамжийг буруу суулгасны үр дүнд үүсч болох бөгөөд энэ нь суулгах явцад гарсан асуудалтай холбоотой байж болох юм. Энэ нь таны үйлдлийн систем таны JSON файлыг зөв хэрэглээний программ хангамжтай холбохоос сэргийлж, "файлын өргөтгөлийн холбоо" гэж нэрлэгддэг зүйлд нөлөөлж болзошгүй.

Заримдаа зүгээр л Mozilla Firefox-г дахин суулгаснаар JSON-г Mozilla Firefox-той зөв холбох замаар асуудлыг шийдэж болно. Бусад тохиолдолд, файлын холболттой холбоотой асуудал нь программ хангамжийг хөгжүүлэгчийн буруу программчлалаас үүдэлтэй байж болох бөгөөд та нэмэлт тусламж авахын тулд хөгжүүлэгчтэй холбоо барина уу.


Зөвлөмж: Хамгийн сүүлийн үеийн засварууд болон шинэчлэлтүүд байгаа эсэхийг шалгахын тулд Mozilla Firefox-ыг хамгийн сүүлийн хувилбар руу шинэчилж үзээрэй.


Энэ нь хэтэрхий ойлгомжтой мэт санагдаж болох ч ихэнхдээ JSON файл өөрөө асуудлын шалтгаан болдог. Хэрэв та и-мэйл хавсралтаар файл хүлээн авсан эсвэл вэбсайтаас татаж авсан бөгөөд татаж авах процесс тасалдсан (цахилгааны тасалдал эсвэл бусад шалтгаан гэх мэт) файл гэмтсэн байж болзошгүй. Боломжтой бол JSON файлын шинэ хуулбарыг аваад дахин нээж үзнэ үү.


Анхааруулга: Гэмтсэн файл нь таны компьютер дээрх өмнөх болон одоо байгаа хортой программаас барьцааны хохирол учруулж болзошгүй тул таны компьютерийг үргэлж шинэчилсэн антивирус ажиллуулж байх нь чухал.


Хэрэв таны JSON файл таны компьютер дээрх техник хангамжтай холбоотой бол файлыг нээхийн тулд тухайн техник хангамжтай холбоотой төхөөрөмжийн драйверуудыг шинэчлэх шаардлагатай байж магадгүй.

Энэ асуудал нь ихэвчлэн дууны карт эсвэл видео карт зэрэг компьютер доторх техник хангамжийг амжилттай нээхээс хамаардаг медиа файлын төрлүүдтэй холбоотой байдаг. Жишээлбэл, хэрэв та аудио файл нээхийг оролдож байгаа боловч нээж чадахгүй байгаа бол дууны картын драйверуудыг шинэчлэх шаардлагатай байж магадгүй юм.


Зөвлөмж: Хэрэв та JSON файлыг нээхийг оролдох үед .SYS файлтай холбоотой алдааны мэдэгдэл хүлээн авбал асуудал нь эвдэрсэн эсвэл хуучирсан төхөөрөмжийн драйверуудаас шалтгаалж, шинэчлэх шаардлагатай байж магадгүй юм. DriverDoc гэх мэт драйвер шинэчлэх программ хангамжийг ашиглан энэ үйл явцыг хөнгөвчлөх боломжтой.


Хэрэв алхмууд нь асуудлыг шийдэж чадаагүй бөгөөд та JSON файлуудыг нээхэд асуудалтай хэвээр байгаа бол энэ нь системийн нөөц хомс байгаатай холбоотой байж магадгүй юм. JSON файлын зарим хувилбар нь таны компьютер дээр зөв нээгдэхэд ихээхэн хэмжээний нөөц (жишээ нь санах ой/RAM, боловсруулах хүч) шаардлагатай байж болно. Хэрэв та нэлээд хуучин компьютерийн техник хангамж, нэгэн зэрэг илүү шинэ үйлдлийн систем ашиглаж байгаа бол энэ асуудал нэлээд түгээмэл тохиолддог.

Үйлдлийн систем (болон цаана ажиллаж байгаа бусад үйлчилгээнүүд) JSON файлыг нээхэд хэт их нөөц зарцуулж байж болзошгүй тул компьютер даалгавраа биелүүлэхэд асуудалтай байгаа үед энэ асуудал үүсч болно. Mozilla Firefox хавчуургын нөөцлөлтийг нээхээс өмнө компьютер дээрх бүх програмыг хааж үзнэ үү. Компьютер дээрээ байгаа бүх нөөцийг суллах нь JSON файлыг нээхэд хамгийн сайн нөхцлийг бүрдүүлнэ.


Хэрэв та дээрх бүх алхмуудыг дагасан ч таны JSON файл нээгдээгүй хэвээр байвал техник хангамжийн шинэчлэлт хийх шаардлагатай байж магадгүй. Ихэнх тохиолдолд, техник хангамжийн хуучин хувилбарыг ашиглаж байсан ч боловсруулах хүчин чадал нь ихэнх хэрэглэгчийн програмуудад хангалттай байх болно (хэрэв та 3D дүрслэх, санхүүгийн/шинжлэх ухааны загварчлал гэх мэт CPU-ийн эрчимтэй ажил хийхгүй бол). эрчимтэй мультимедиа ажил). Тиймээс таны компьютерт файл нээх ажлыг гүйцэтгэх хангалттай санах ой (илүү түгээмэл "RAM" эсвэл санамсаргүй хандалтын санах ой гэж нэрлэдэг) байхгүй байх магадлалтай.

Json нь JavaScript-д зориулагдсан (түүний бүтэн нэр нь JavaScript Object Notation) бөгөөд энэ нь өгөгдөл солилцох формат юм.

Json нь янз бүрийн програмчлалын хэл дээр хэрэглээгээ олсон - жишээлбэл, PHP дээр дараах байдалтай байна.

["1":"шар";"2":"ногоон";"3":"саарал"]

Жишээ нь хоосон зай байхгүй, нэр, утгыг давхар хашилтанд оруулсан байгааг харуулж байна. Хэрэв урт нь зөвшөөрвөл уг мөрийг GET аргад өгөгдөл дамжуулахад ашиглаж болно.

Энэ тохиолдолд дамжуулагдсан массив нь олон түвшний бүтэцтэй байж болно. PHP нь ийм мөрүүдийг үүсгэх, тайлах зориулалттай json функцуудтай бөгөөд зөвхөн UTF-8 дээр ажилладаг.

Php дахь Json_encode Энэ функц нь объект, массив эсвэл хувьсагчийг json формат руу хөрвүүлдэг. Дараах жишээ нь массивыг энэ формат руу хөрвүүлэх болно. ?> Php дахь Json_decode Энэ функц нь хүлээн авсан мөрийг тайлах ба аль сонголтыг сонгосоноос хамааран объект эсвэл массивыг авдаг. Функц нь хоёр параметртэй - заавал (шифрийг тайлах мөр) ба нэмэлт (хэрэв та үүнийг зааж өгвөл массив, хэрэв үгүй ​​бол объект гарна). Дараах жишээг авч үзье. Ангиас өгөгдөл авах: Массиваас өгөгдөл авах: php дахь Json_last_error

Энэ функцэд параметр байхгүй. Энэ нь алдааны шалтгааныг тодорхойлсон утгыг буцаана.

  • JSON_ERROR_NONE - Алдаа байхгүй
  • JSON_ERROR_SYNTAX - Синтакс алдаа
  • JSON_ERROR_UTF8 - Буруу UTF-8 тэмдэгт, магадгүй буруу кодчилол
  • JSON_ERROR_DEPTH - Стекийн хамгийн их гүнд хүрсэн
  • JSON_ERROR_STATE_MISMATCH - Буруу эсвэл буруу JSON
  • JSON_ERROR_CTRL_CHAR - Хяналтын тэмдэгтийн алдаа, магадгүй буруу кодчилол

Програмчлалын талаар мэддэг хүмүүс JSON өргөтгөлтэй файлуудыг шууд таних болно. Энэ формат нь JavaScript Object Notation-ийн товчлол бөгөөд үндсэндээ JavaScript програмчлалын хэлэнд хэрэглэгддэг текстэд суурилсан өгөгдөл солилцох хэлбэр юм. Үүний дагуу тусгай програм хангамж эсвэл текст засварлагч нь ийм файлыг нээхэд тань туслах болно.

JSON форматын скриптүүдийн гол онцлог нь XML форматтай солигдох чадвар юм. Хоёр төрөл нь текст процессороор нээгдэх боломжтой текст баримт бичиг юм. Гэсэн хэдий ч бид тусгай програм хангамжаас эхэлнэ.

Арга 1: Altova XMLSpy

Вэб програмистуудын ашигладаг нэлээд алдартай хөгжүүлэлтийн орчин. Энэ орчин нь JSON файлуудыг үүсгэдэг тул энэ өргөтгөлөөр гуравдагч талын баримт бичгүүдийг нээх боломжтой.


Энэ програм хангамж нь хоёр сул талтай. Эхнийх нь төлбөртэй хуваарилалтын суурь юм. Туршилтын хувилбар нь 30 хоногийн турш идэвхтэй байгаа ч үүнийг хүлээн авахын тулд та нэр, имэйл хаягаа оруулах ёстой. Хоёр дахь нь ерөнхий төвөгтэй байдал юм: зүгээр л файл нээх хэрэгтэй байгаа хүнд энэ нь хэтэрхий боловсронгуй мэт санагдаж магадгүй юм.

Арга 2: Notepad++

Notepad++ олон үйлдэлт текст засварлагч нь JSON форматыг нээхэд тохиромжтой скриптүүдийн жагсаалтын эхнийх нь юм.


Notepad++ нь маш олон давуу талтай - энэ нь олон програмчлалын хэлний синтаксийг харуулдаг, залгаасуудыг дэмждэг, жижиг хэмжээтэй ... Гэхдээ зарим онцлог шинж чанаруудын улмаас програм нь удаан ажилладаг, ялангуяа хэрэв та том хэмжээний баримт бичгийг нээвэл.

Арга 3: AkelPad

Оросын хөгжүүлэгчийн гайхалтай энгийн бөгөөд нэгэн зэрэг чадвараараа баялаг текст засварлагч. Түүний дэмждэг форматуудад JSON орно.


Notepad++-ийн нэгэн адил энэ notepad сонголт нь үнэгүй бөгөөд залгаасуудыг дэмждэг. Энэ нь илүү хурдан ажилладаг боловч том, төвөгтэй файлууд анх удаа нээгдэхгүй байж магадгүй тул энэ функцийг санаарай.

Арга 4: Комодо засварлах

Комодогийн програмын код бичих үнэгүй програм хангамж. Энэ нь орчин үеийн интерфэйстэй бөгөөд програмистуудад зориулсан өргөн дэмжлэгтэй.


Харамсалтай нь хөтөлбөрт орос хэл байхгүй. Гэсэн хэдий ч энгийн хэрэглэгч хэт их ажиллагаатай, ойлгомжгүй интерфэйсийн элементүүдээс болж хоцрох магадлал өндөр байх болно - эцэст нь энэ редактор нь үндсэндээ програмистуудад зориулагдсан болно.

Арга 5: Сайхан текст

Код чиглэсэн текст засварлагчдын өөр нэг төлөөлөгч. Интерфэйс нь хамт ажиллагсдынхаас илүү энгийн боловч боломжууд нь адилхан. Програмын зөөврийн хувилбар бас байдаг.


Харамсалтай нь Sublime Text орос хэл дээр байхгүй. Shareware түгээлтийн загварыг сул тал гэж нэрлэж болно: үнэгүй хувилбар нь ямар ч байдлаар хязгаарлагдахгүй, гэхдээ үе үе лиценз худалдаж авах шаардлагатай байгаа тухай сануулга гарч ирдэг.

Арга 6: NFOPad

Энгийн тэмдэглэлийн дэвтэр нь JSON өргөтгөлтэй баримтуудыг үзэхэд тохиромжтой.