از زمانی که jSON در وب ظاهر شد ، همه ی وب سرویس ها jSON را به عنوان فرمت داده پایه برای ارتباط معرفی کردند . دلیل محبوبیت JSON سادگی خواندن و نوشتن توسط انسان و سبکی است . امروز قصد داریم به شما نحوه استفاده و مدیریت داده jSON در php را آموزش دهیم.
داده jSON چیست ؟
JSON کوتاهشدهی عبارت «Javascript Object Notation» به معنی «نشانگذاری شیء جاوااسکریپت» است. JSON شیوهای است که با کمک آن اشیا و اطلاعات برنامهنویسی به متن قابل پردازش توسط رایانه و قابل فهم برای انسان تبدیل میشوند.
بله این تعریفی از JSON است، اما واقعا کارایی JOSN چیه؟ میشه به عبارتی به دید یک پایگاه داده ی متنی به اون نگاه کرد یا یک رابط خوب برای انتقال اطلاعات بین سرور ها و یا حتی به عنوان یک وب سرویس از اون استفاده کرد.
JOSN برای مبحث توسعه ی وب، یک رابط خوب بین PHP و JAVASCRIPT محسوب میشه و برای مبحث برنامه های کاربردی موبایل باز هم JSON یک رابط خوب بین سرور و موبایل محسوب میشه.
خوب شما میتونید اطلاعات را در JSON به صورت شئی و آرایه نگه داری کنید علاوه بر اون میتونید این اطلاعات را در یک فایل یا حتی در دیتابیس ذخیره سازی کنید.
استفاده از jSON
خب برای مثال یک وبسات سلامت در خصوص اطلاعاتی از میوه ها در قالب داده jSON برای عموم قرار داده و شما قصد دارید آن را در پروژه تحت وب خود استفاده کنید . داده jSON شبیه این خواهد بود :
1 2 3 4 5 6 |
{ "Apple":"Helps lower the chance of developing diabetes and asthma.", "Avocado":"Helps lower cholesterol levels when eaten instead of harmful saturated fats.", "Banana":" 105 calories, 3 g fibre, source of vitamin B6, potassium and folate", "Blackberry":"Helps reduce the risk of stroke and cancer." } |
با استفاده از PHP میتوانید به راحتی داده ها را دیکد و استفاده کنید:
1 2 3 4 5 6 7 8 9 |
//get JSON data using either file_get_contents or cURL $result = file_get_contents("http://some-health-site.com/path/to/json/"); //decode JSON string & convert it into a PHP variable. $json_object = json_decode($result); //simply print-out the variable echo $json_object->Avocado; echo $json_object->Banana; |
خب همانطور که دیدید کار با داده jSON در php به چه سادگی است و چه کاربرد های زیادی می تواند داشته باشد . در مقاله قبل از فرمت معروف XML صحبت کردیم . که در حال حاضر این دو از بهترین و ساده ترین و استانداردترین فرمت ها برای تبادل اطلاعات است .
موفق باشید
سلام وقت بخیر یه سوال داشتم ممنون میشم می تونید راهنمایی کنید،به نحوی توضیح دادین برای ایستاگرام قابل استفاده نیست مثل این لینک از ایستاگرام
https://www.instagram.com/$usernane/?__a=1&__d=dis
که یوزر قرار بدیم خروجی اطلاعات json هست اما متاسفانه نمی دونم چجوری این اطلا رو ازش استخراج کنم در phpو ازشون استفاده کنم ممنون میشم بتونید راهنمایی کنید.
سلام. ممنون
متاسفانه این قابلیت خیلی وقت هست که توسط اینستاگرام غیرفعال شده و فقط باید از api رسمی اونا استفاده کنید
درود مهندس
من دایرکتهای پاک شده اینیستاگرامم را بازیابی کردم و پیامهایی که اینیستا برام فرستاده بصورت json اومده و من هنگام باز کردن با نرم افزار json genie در موبایلم بازم برام ناخوانا هست برام کمک میکنید بتونم بصورت متن فارسی که تایپ شده بتونم بخونم؟بسیار ممنونم
سلام
از این سایت استفاده کنید
http://jsonviewer.stack.hu
سلام مهندس
خدا خیرت بده
به سادگی سوالم حل شد
فقط یه چیزی :
الان من یه آرایه بنام Avocado دارم که زیرش ۳ مورد دیگه دسته بندی داره
Avocado
.۱
.۲
.۳
این سه نوع مدل مختلف از آووکادو رو چطور با php دریافت کنم؟
سلام. خیلی خوشحالیم که مفید واقع شده.
۱٫بصورت تک به تک میخواید به خانه ها دسترسی داشته باشید که باید foreach بزنید روش.
۲٫کلی میخواید دریافت کنید که باید از ایندکس استفاده کنید مثلا array[0]
اگر منظورتون این بود که امیدوارم حل شده باشه در غیر اینصورت میتونید دقیقتر حتی با کد توضیح بدید تا بهتر راهنمایی بشه.
موفق باشید.
مهندس جان عالیییی
دمت گرم
با حلقه foreach تونستم ۳ موردش رو به ترتیب دریافت کنم
فقط یه سوال کوچیک دیگه:
این سه نوع آووکادو رو ما دریافت کردیم اما کلماتش رو میخواییم به فارسی تغییر بدیم
مثلا توی چاپ شدن به فارسی چاپ بشه
مثلا :
Avocado —–> آووکادو
Banana —–> موز
همه چیز همونجوری اما کلماتی که دریافت میشه واسه چاپ , به معادل فارسیش که خودمون تعریف میکنیم تبدیل بشه…
لطفا راهنمایییییی ^_^
مرسی
خواهش می کنم.
بجای قرار دادن تکی مثلا Avocado به اینصورت تبدیل به آرایه کنید :
[‘Avocade’ => [‘en’=>’avocado’,’fa’=>’آووکادو’] ]
و بعد با ایندکس دریافت کنید Avocado[‘fa’]
سلام استاد.
توی قسمت استفاده از json
اگر بنده بخوام بعدش مثلا از متنی که روبروی Avocado نوشته شده استفاده کنم باید چه دستوری رو بنویسم ؟
مرسی
سلام. لطف دارید ممنون.
پایینتر این مثال نحوه چاپ کردن مقادیر آن که اینجا یک جمله است آورده شده :
به اینصورت :
echo $json_object->Avocado;
موفق باشید.
سلام
واسه من این قسمت آخر زمانی که محتویات فایل رو به آبجکت تبدیل میکنم null برمیگردونه(مثال خود شما) اما وقتی بطورت تکی از file_get_content استفاده میکنم مشکلی نداره میشه کمک کنید
سلام. زمانی که از فایل مقادیر رو میخونید یکبار var_dump یا echo کنید ببینید آیا واقعا مفدار خونده و در متغیر ذخیره شده یا خیر.