نمایش نتایج 1 تا 4 از 4

نام تاپیک: استخراج اطلاعات در فایل json

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1388
    پست
    49

    استخراج اطلاعات در فایل json

    سلام دوستان یک مشکلی داشتم گر ممکن هست راهنمائی کنید

    یک فایل داریم با پسنود json با اطلاعات زیر


    {
    "7160": "bb",
    "2440": aa,
    "0481": aa,
    "6986": qq,
    "1086": qq,
    "1946": bb,
    "3976": aa
    }


    اگر بخواهم در این فایل کل aa ها رو در بیارم چی کار کنم و همه را یکجا زیر هم چاپ کنم به شکل ذیل

    2440
    0481
    3976

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: استخراج اطلاعات در فایل json

    سلام و نوروز شما پیروز

    مشخص نکردین که در کدوم بخش از کار مشکل دارین:
    - خوندن فایل json
    - دیکد کردنش
    - یا پردازش

    پس فرض رو بر این میذارم که همه اش هست.
    البته فرمت این دیتا که پیوست کردین نادرست هست و همه مقادیر string باید درون کوتیشن " باشن.

    - خوندن فایل json:
    با فرض این که اسم فایل شما x.json و در کنار فایل php شما باشه
    $JSON = file_get_contents('x.json');


    - برای دیکد کردن استرینگ json و ریختن دیتا در یک array :
    $Data = json_decode($JSON , true);


    - حالا در یک حلقه برای هر آیتم مقدار دوم (value$) رو چک میکنین، و اگر برابر aa بود مقدار اول (key$) رو به خروجی میفرستین:
    foreach ($Data as $key => $value) {
    if ($value === "aa") {
    print ("$key <br>");
    }
    };


    این که اسم متغییرها رو key$ و value$ انتخاب کردیم فقط از بابت رسوندن مفهوم هست و میتونین هر اسمی (که مجاز باشه) انتخاب کنین.

  3. #3
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,057

    نقل قول: استخراج اطلاعات در فایل json

    یک راه دیگه این هست که اول خود Data$ رو بر اساس مقادیر مورد نظر فیلتر کنین و در یک آرایه دیگه (اینجا AA$) بریزین:
    $AA = array_filter($Data, function($item) {
    return ($item === "aa");
    });


    و بعد کلیدهای اون رو در یک آرایه دیگه (اینجا KEYS$) بریزین،
    و اون رو چاپ کنین:
    $KEYS = array_keys($AA);
    foreach ($KEYS as $k) {
    print ("$k <br>");
    };


    =====
    البته من php کار نمیکنم و روی سیستم هم ندارم و دانش من در این زمینه زنگ زده است،
    شاید راه های تمیزتر و بهتری هم باشه.
    =====
    در دستورهای print یک تگ br هم هست که ادیتور انجمن اون رو نشون نمیده!
    آخرین ویرایش به وسیله mazoolagh : یک شنبه 12 فروردین 1403 در 16:55 عصر

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1388
    پست
    49

    نقل قول: استخراج اطلاعات در فایل json

    نقل قول نوشته شده توسط mazoolagh مشاهده تاپیک
    یک راه دیگه این هست که اول خود Data$ رو بر اساس مقادیر مورد نظر فیلتر کنین و در یک آرایه دیگه (اینجا AA$) بریزین:
    $AA = array_filter($Data, function($item) {
    return ($item === "aa");
    });


    و بعد کلیدهای اون رو در یک آرایه دیگه (اینجا KEYS$) بریزین،
    و اون رو چاپ کنین:
    $KEYS = array_keys($AA);
    foreach ($KEYS as $k) {
    print ("$k <br>");
    };


    =====
    البته من php کار نمیکنم و روی سیستم هم ندارم و دانش من در این زمینه زنگ زده است،
    شاید راه های تمیزتر و بهتری هم باشه.
    =====
    در دستورهای print یک تگ br هم هست که ادیتور انجمن اون رو نشون نمیده!
    واقعا ممنون دستتون درد نکنه

تاپیک های مشابه

  1. استخراج داده ها از Json
    نوشته شده توسط shahab_ksh در بخش ASP.NET Core
    پاسخ: 2
    آخرین پست: یک شنبه 17 مرداد 1400, 19:36 عصر
  2. جستجو در ستون json
    نوشته شده توسط majidbayat در بخش MySQL
    پاسخ: 1
    آخرین پست: یک شنبه 30 آذر 1399, 14:39 عصر
  3. استراخ اطلاعات json از یک api
    نوشته شده توسط siavash82i در بخش PHP
    پاسخ: 5
    آخرین پست: سه شنبه 11 اردیبهشت 1397, 15:36 عصر
  4. حرفه ای: فرستادن json برای نمایش پیام به کاربر و رفرش کردن فرم
    نوشته شده توسط sh_esharif در بخش ASP.NET MVC
    پاسخ: 5
    آخرین پست: جمعه 06 مرداد 1396, 22:24 عصر
  5. فرستادن Json
    نوشته شده توسط F.zeinali در بخش Android Studio
    پاسخ: 1
    آخرین پست: سه شنبه 18 تیر 1392, 14:28 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •