PDA

View Full Version : استخراج اطلاعات از آرایه جیسون



aliphp1
شنبه 15 فروردین 1394, 11:38 صبح
سلام دوستان من یک آرایه به شکل زیر دارم که جیسون هست لطفا کمک کنید تا تا بتونم اطلاعاتش رو استخراج کنم
نمی دونم چرا هر چی ور رفتم نشد احتمالا یک جایی رو اشتباه کردم و خودم حواسم نیست به همین خاطر از شما دوستان کمک خواستم
[{"name":"ahmad","ExtraData":{"family":"ahmadi"}}]
دقت کنید که این یک آرایه هست که در مثال بالا من یک داده در اون گذاشتم و چیزی که میخوام برای تعداد زیادی خونه از آرایه هست
میخوام که تک تک اسم و فایل ها رو در بیارم و در دیتابیس ذخیره کنم
ممنون

j_naroogha@yahoo.com
شنبه 15 فروردین 1394, 11:49 صبح
این لینک رو مشاهده کنین کمکتون میکنه
http://www.tutorialspoint.com/json/json_php_example.htm

aliphp1
شنبه 15 فروردین 1394, 12:14 عصر
متاسفانه نتونستم اگر لطف کنید مقداری راهنمایی کنید ممنون میشم

hadi2016
شنبه 15 فروردین 1394, 13:12 عصر
این یک نمونه کد شاید کمکت کرد


for($x=0;$x<count($json->responseData->results);$x++){

echo $json->responseData->results[$x]->name;
echo $json->responseData->results[$x]->family;
}

emperatorphp
شنبه 15 فروردین 1394, 14:24 عصر
سلام یک مقدار بیشتر کدتون رو بزارید انشاالله این به کارتون بیاد

var text = '{"name":"ahmad","family":"ahmadi"}'
var obj = JSON.parse(text);
document.getElementById("demo").innerHTML =obj.name + "<br>" +obj.family ;

id1385
شنبه 15 فروردین 1394, 14:54 عصر
<?php
# json array [{}] and json object {}
$string = '[{"name":"ahmad","ExtraData":{"family":"ahmadi"} }]';


# decode kardan json be array agar az [TRUE] estefade nashavad be stdclass(az noe object) tabdil khahad shod
$JsonToArray = json_decode($string/*, true*/);


# khorooji az noe stdclass
echo $JsonToArray[0]->name;
echo $JsonToArray[0]->ExtraData->family;


# khorooji az noe array
#echo $JsonToArray[0]['name'];


/**
stdclass kami soratesh pain tar az digar noe arraye hast
**/



موفق باشید

aliphp1
شنبه 15 فروردین 1394, 15:29 عصر
ممنون از همه دوستان ولی متاسفانه همه کدهای که گذاشتید رو من قبلا تست کرده بودم جواب ندادن هیچ کدوم باز هم اومدم کد های شما رو کپی کردم ولی جواب نداد
ببینید من یک متغییر php دارم که وقتی echo کنی دقیقا رشته زیر رو بر می گردونه
[{"name":"ahmad","ExtraData":{"family":"ahmadi"} }]
حالا یک کدی بهم بدید که بتونم اسم و فامیل رو جداگانه بگیرم و بذارم توی متغییر های دیگه ای

aliphp1
شنبه 15 فروردین 1394, 16:34 عصر
<?php
# json array [{}] and json object {}
$string = '[{"name":"ahmad","ExtraData":{"family":"ahmadi"} }]';


# decode kardan json be array agar az [TRUE] estefade nashavad be stdclass(az noe object) tabdil khahad shod
$JsonToArray = json_decode($string/*, true*/);


# khorooji az noe stdclass
echo $JsonToArray[0]->name;
echo $JsonToArray[0]->ExtraData->family;


# khorooji az noe array
#echo $JsonToArray[0]['name'];


/**
stdclass kami soratesh pain tar az digar noe arraye hast
**/



موفق باشید

این جواب از نظر منطقی باید درست باشه
جالبه که من کد شما رو کامل کپی کردم جواب داد ولی وقتی مقدار ورودی رو به جای اون رشته از متغییر میگیرم این خطا رو میده
Notice: Undefined property: stdClass::$name in D:\wamp\wamp\www\\json.php on line 128

id1385
شنبه 15 فروردین 1394, 16:35 عصر
دوست عزیز اون متغیر رو بده به $string و بقیه کارا رو انجام بده
خیلی سخت نیست :

aliphp1
شنبه 15 فروردین 1394, 16:36 عصر
فکر کنم باید قبلش محتوای متغییرم رو به رشته تبدیل کنم
تست می کنم ببینم چی میشه

aliphp1
شنبه 15 فروردین 1394, 16:58 عصر
ممنون از همه دوستان مشکل من حل شد
از صبح درگیر این کد بودم بالاخره الان فهمیدم که همون name رو باید حرف اولش رو حروف بزرگ بنویسم

j_naroogha@yahoo.com
یک شنبه 16 فروردین 1394, 09:02 صبح
ممنون از همه دوستان مشکل من حل شد
از صبح درگیر این کد بودم بالاخره الان فهمیدم که همون name رو باید حرف اولش رو حروف بزرگ بنویسم

تجربه میشه عزیز ... آی که لج آدمو در میاره این مواقع :D