مشکل نمایش فارسی json در برنامه نویسی اندروید

با سلام
در پاسخ به سوال یکی از دوستان که برای دریافت پارامتر های فارسی از وب سرویس با خروجی json مشکل داشتند تصمیم گرفتیم که راه حل مشکل نمایش فارسی json را در اندروید خدمت عزیزان شرح دهیم.

به عنوان مثال خروجی json زیر را در نظر بگیرید :

url تست : https://api.myjson.com/bins/2ju1n

نکته : برای تست json فرضی خود می توانید از طریق سایت myjson متن با فرمت json خود را آپلود نمایید و از طریق url اختصاصی که برای شما ایجاد می کند تست های خود را انجام دهید و نیازی به نوشتن وب سرویس  نیست.

برای parse کردن  json بالا ابتدا باید json دریافتی را در یک JSONObject ذخیره کنید و فیلد name_en یا name_fa را به عنوان مثال استخراج کنید.
روش استخراج فیلد name_en با روش معمول به صورت زیر است :

اما این روش برای دریافت فیلد های حاوی حروف فارسی به درستی عمل نمی کند و یک سری حروف بی معنی به نمایش در می آید . دلیل این مشکل عدم انتخاب UTF-8 برای پردازش کاراکتر ها است.
برای حل این مشکل از کد زیر استفاده می کنیم :

البته دقت شود که برای استفاده از این کد، باید یک try و catch ، به صورت زیر، برای آن در نظر بگیریم :

 

موفق باشید
موبایل پروگرام

One Comment

  1. MAM اردیبهشت ۲۸, ۱۳۹۵ Reply

دیدگاه خود را منتشر کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *