با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش JavaScript در خدمت شما دوستان هستیم . در این جلسه قصد داریم به آموزش JSON در جاوا اسکریپت JavaScript و معرفی JSON بپردازیم.
JSON (JavaScript Object Notation) یک ساختار برای ذخیره و تبادل اطلاعات می باشد.
داده ها در هنگام تبادل بین مرورگر و سرور فقط می توانند به صورت متن Text باشند.
JSON به صورت متن می باشد و می توانیم هر شی جاوا اسکریپت را به JSON تبدیل کنیم و JSON را به سرور ارسال کنیم.
همچنین می توانیم هر JSON را که از سرور دریافت کرده ایم را به شی جاوا اسکریپت تبدیل کنیم.
با این روش می توانیم بدون هیچ گونه پیچیدگی و تجزیه و تبدیلی با داده ها مانند اشیا جاوا اسکریپت کار کنیم.
اگر داده هایی ذخیره شده در شی جاوا اسکریپت دارید، می توانید آن شی را تبدیل به JSON کرده و آن را به سرور ارسال کنید:
1 2 3 | var myObj = {"name":"John", "age":31, "city":"New York"}; var myJSON = JSON.stringify(myObj); window.location = "demo_json.php?x=" + myJSON; |
اگر داده هایی را در قالب JSON دریافت کردید، می توانید آن را به شی جاوا اسکریپت تبدیل کنید:
1 2 3 | var myJSON = '{"name":"John", "age":31, "city":"New York"}'; var myObj = JSON.parse(myJSON); document.getElementById("demo").innerHTML = myObj.name; |
هنگام ذخیره اطلاعات، بدون توجه به اینکه آن را کجا ذخیره می کنید، داده ها با فرمت متنی text ذخیره خواهند شد.
JSON این امکان را به ما می دهد تا داده ها را به صورت متن ذخیره کنیم:
1 2 3 4 5 6 7 8 9 | //Storing data: myObj = {"name":"John", "age":31, "city":"New York"}; myJSON = JSON.stringify(myObj); localStorage.setItem("testJSON", myJSON); //Retrieving data: text = localStorage.getItem("testJSON"); obj = JSON.parse(text); document.getElementById("demo").innerHTML = obj.name; |
همانطور که گفتیم JSON یک فرمت تبادل اطلاعات آسان و سبک هست که توسط هر زبان برنامه نویسی قابل استفاده است.
در هر زبان برنامه نویسی معمولا توابع از پیش تعریف شده ای برای کار با JSON وجود دارد.
جلسه معرفی و آموزش JSON در جاوا اسکریپت JavaScript نیز به پایان رسید.
در جلسه بعد به ساختار دستوری JSON خواهیم پرداخت. با ما همراه باشید
zeynab
سلام
من رشته ی جیسونی که از php دریافت کردم به صورت موقعیت x,y هستش
یعنی من حدود پونصد تا x= 51.4567, x=51.9875 ,….
واسه y هم همین طور
الان نمیدونم اینو چجوری تو قسمت اسکیریپت قرار بدم تا به شی تبدیل بشه و بتونم ازش استفاده بکنم
ممنون میشم بهم کمکم کنین و راهنماییم کنین…..
صادق
سلام.
اگه دارید با php کد می زنید باید بگم که خود php هم توابعی برای کار با json داره. مثلا برای تبدیل رشته json به آبجکت از تابع json_encode($myJson) استفاده میشه.
اما اگه حتما می خواید که داخل تگ script کدتون رو بنویسید، می تونید دستورات js رو با استفاده از دستور echo اجرا کنید. (کد های js را داخل ” ” دستور echo قرار بدین)
zeynab
خیلی ممنون از راهنماییتون
چون من میخام از اطلاعات پایگاه داده ام روی نقشه ام استفاده بکنم و موقعیت یابی بکنم-مجبورم که در تگ اسکریپت این کارو کنم
اما متوجه راهنممایی شما نشدم اگه امکانش هست با یه مثال ساده بهم بگین که چجوری داده هام رو که الان به صورت رشته ی جیسون هست در داخل تگ اسکریپت بتونم نمایش بدم یبه عبارتی فراخونی کنم…
خیلی ممنونم ازتون
اینجا فک میکنم امکان نمایش کدم وجود نداره
وگرنه بهتر میتونستم منظورم رو برسونم
من داخل خود php مشکلی ندارم و با استفاده از توابعش این کارو کردم
اما من به این اطلاعات روی نقشه ام نیاز دارم و باید بتونم تو جاوا اسکریپت فراخونیشون کنم….
عذر میخام اگه توضیحم زیاد بود
ولی چند روز درگیر این مسیله ام
تا اینکه اتفاقی با سایت شما آشنا شدم و سوالم رو مطرح کردم
پیشاپیش از وقتی که میزارین خیلی ممنونم….
ولی چند روزه گیر همین مسیله ام ….
تا اینکه با سایت شما آشنا شدم و مشکلم رو اینجا مطرح کردم
پیشاپیش از وقتی که میزارین ممنونم…..
صادق
خواهش میکنم.
یک نگاه به این لینک بندازید. کد رو اینجا نذاشتم که شلوغ نشه.
لینک بالا فقط نحوه استفاده از کد های javascript داخل php رو نشون میده. برای تبدیل رشته به شی json از هم از تابع JSON.parse() که مثالشو تو آموزش بالا گفتم، استفاده کنید.
zeynab
سلام میخاستم بگم که مشکل من در این رابطه رفع شد
از راهنماییتون خیلی ممنون …..
zeynab
سلام
من یه سوال داشتم
میخاستم بدونم کسی می دونه برای ذخیره کردن رنگ یه عارضه توی پایگاه داده از چه کتابخونه یا کدی استفاده میشه؟؟
کسی لینکی داره که بهم بتونه کمک کنه…..
خیلی ممنونم
صادق
منظورتون رو متوجه نشدم. رنگ عارضه؟ توی چه پایگاه داده ای؟
zeynab
سلام مجدد
من دارم روی یه نقشه ی ترافیکی کار می کنم
میخام رنگ هر خیابون رو که تو سه تا حالت سبز و قرمز و زرد هستش واسم تو پایگاه داده ام ذخیره کنه
با php دارم سمت سرور کد می زنم
لطفا اگه میتونین راهنماییم کنین……
صادق
سلام.
برای زبان php معمولا از پایگاه داده MySQL استفاده میشه که آموزش هاش داخل سایت موجوده. نیاز به کتابخونه خاصی ندارید.
php خودش توابع کار با این پایگاه داده رو داره.