PDA

View Full Version : مشکل با json_decode



j_naroogha@yahoo.com
پنج شنبه 20 فروردین 1394, 12:43 عصر
سلام
من یه api و یه صفحه که در اون از api استفاده میکنم.
در api مقادیر را با با json_encode چاپ میکنم اما نمیدونم چرا وقتی در سمت کلاینتم (همون صفحه ) وقتی json_decode میزنم مقدار null رو برمیگردونه :گریه:
شماره کد 4 با پیام syntax error هم از json_last_error پیدا میشه.
جالب اینه که رشته رو داخل console افزونه firefox (واسه چک کردن عبارت جیسون) چک میکنم به راحتی به ابجکت جاوا اسکریپت تبدیل میشه ....
کسی تا بحال به این مشکل برنخورده و حلش کرده باشه؟
ممنون کمک کنین.

j_naroogha@yahoo.com
پنج شنبه 20 فروردین 1394, 12:52 عصر
اینم یه نمونه از مقادیر بازگشتی api


[{"course":[],"experience":[{"title":"Flash","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"},{"title":"Illustrator","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"},{"title":"\u0637\u0631\u0627\u062d\u06cc \u0628\u0646\u0631","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"},{"title":"\u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"},{"title":"\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u062a\u0626\u0648\u0631\u06cc \u0631\u0646\u06af \u0647\u0627","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"},{"title":"HTML4","value":"\u062a\u0633\u0644\u0637 \u06a9\u0627\u0645\u0644"}],"attributes":{"form_id":"177","form_name":"asdasdad","form_resume_history":null,"form_sex_str":"\u0622\u0642\u0627","form_marriage_str":"\u0645\u062c\u0631\u062f","form_military_str":"\u062f\u0627\u0631\u0627\u06cc \u06a9\u0627\u0631\u062a \u067e\u0627\u06cc\u0627\u0646 \u062e\u062f\u0645\u062a","form_training_course_str":"\u062e\u06cc\u0631","sherkat_id":"1","form_email":"j_naroogha@yahoo.com","created_at":"0"}}]

j_naroogha@yahoo.com
پنج شنبه 20 فروردین 1394, 13:18 عصر
دوستان کسی نیست..

id1385
پنج شنبه 20 فروردین 1394, 14:11 عصر
دلایل مختلفی میتونه باشه، این کارو توی کلاس یا فانکشن انجام میدی؟
توی یه فایل دیگه ؟
هدر رو چک کردی؟


var_dump(json_decode($string, true)[0]);


خروجیش که درسته

array(3) {
["course"]=>
array(0) {
}
["experience"]=>
array(6) {
[0]=>
array(2) {
["title"]=>
string(5) "Flash"
["value"]=>
string(17) "تسلط کامل"
}
[1]=>
array(2) {
["title"]=>
string(11) "Illustrator"
["value"]=>
string(17) "تسلط کامل"
}
[2]=>
array(2) {
["title"]=>
string(17) "طراحی بنر"
["value"]=>
string(17) "تسلط کامل"
}
[3]=>
array(2) {
["title"]=>
string(32) "طراحی رابط کاربری"
["value"]=>
string(17) "تسلط کامل"
}
[4]=>
array(2) {
["title"]=>
string(40) "آشنایی با تئوری رنگ ها"
["value"]=>
string(17) "تسلط کامل"
}
[5]=>
array(2) {
["title"]=>
string(5) "HTML4"
["value"]=>
string(17) "تسلط کامل"
}
}
["attributes"]=>
array(10) {
["form_id"]=>
string(3) "177"
["form_name"]=>
string(8) "asdasdad"
["form_resume_history"]=>
NULL
["form_sex_str"]=>
string(6) "آقا"
["form_marriage_str"]=>
string(8) "مجرد"
["form_military_str"]=>
string(39) "دارای کارت پایان خدمت"
["form_training_course_str"]=>
string(6) "خیر"
["sherkat_id"]=>
string(1) "1"
["form_email"]=>
string(20) "j_naroogha@yahoo.com"
["created_at"]=>
string(1) "0"
}
}

j_naroogha@yahoo.com
پنج شنبه 20 فروردین 1394, 14:17 عصر
کلا دو تا سیستم جدا هستن یه api و یه وبسایت...
البته این کد رو استفاده میکنم ج میده اما متاسفانه بعضی از داده ها رو پاک میکنه :افسرده:


$b=preg_replace('/.+?({.+}).+/','$1',$response->body);
//echo $b;
$data = json_decode('['.$b.']');

j_naroogha@yahoo.com
شنبه 22 فروردین 1394, 11:07 صبح
صرفا جهت بالا اومدن تاپیک.

j_naroogha@yahoo.com
دوشنبه 24 فروردین 1394, 12:32 عصر
ای بابا بعد بررسیهای زیاد متوجه شدم که یکی از فایلام رو dom دار ذخیره کرده بودم :گریه: