Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,302

HOME > PHP > PHP Forum > ค่าที่ได้จาก API แบบนี้ เป็น array ใช่ไหมคะ แต่พอใช้ foreach หรือระบุ key ไปเลย แต่ก็ไม่แสดงค่ะ





 

ค่าที่ได้จาก API แบบนี้ เป็น array ใช่ไหมคะ แต่พอใช้ foreach หรือระบุ key ไปเลย แต่ก็ไม่แสดงค่ะ

 



Topic : 132897



โพสกระทู้ ( 311 )
บทความ ( 0 )



สถานะออฟไลน์




จะ get ค่า message error ออกมา ลองใช้ foreach ก็ไม่ได้ค่ะ หรือระบุไปตรงๆ เลยก็ไม่ได้ค่ะ

ลอง print_r($respons) แล้วได้แบบนี้ค่ะ

{"status":"error","data":null,"error":{"Code":"API-001,"Message":"Severe Unknown Exception","ErrorMessageTh":"เกิดข้อผิดพลาด กรุณาติด Support"}}

จะเอา Message ที่อยู่ใน error ออกมาได้ยังไงคะ



Tag : PHP, Web Services







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-01-11 09:58:13 By : JuNiorWP View : 179 Reply : 8
 

 

No. 1



โพสกระทู้ ( 222 )
บทความ ( 2 )



สถานะออฟไลน์


Code (PHP)
$data=json_decode($respons,true);
echo $data["Message"]."</br>";
echo $data["ErrorMessageTh"]."</br>";








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-11 10:08:51 By : windermanes
 


 

No. 2



โพสกระทู้ ( 311 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : windermanes เมื่อวันที่ 2019-01-11 10:08:51
รายละเอียดของการตอบ ::
... ลองแล้ว ได้เป็นค่าว่างค่ะ......
หรือว่ามันไม่ใช่ json เพราะว่าค่ามันมาจากแบบนี้ค่ะ

$response = curl_exec($curl);
$err = curl_error($curl);


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-11 11:44:11 By : JuNiorWP
 

 

No. 3



โพสกระทู้ ( 245 )
บทความ ( 0 )



สถานะออฟไลน์


ค่าที่ได้ตรง "error":{"Code":"API-001 จะตก " ไป
ทำให้พอ decode json มันเลย error ครับ

ด้านล่างนี่ลองใส่ " แล้ว decode ได้ปกติครับ

Code (PHP)
$x = '{"status":"error","data":null,"error":{"Code":"API-001","Message":"Severe Unknown Exception","ErrorMessageTh":"เกิดข้อผิดพลาด กรุณาติด Support"}}';
$x = json_decode($x,true);
echo $x['error']['Message']."</br>";
echo $x['error']['ErrorMessageTh']."</br>";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-11 15:53:30 By : 9nonameman
 


 

No. 4



โพสกระทู้ ( 311 )
บทความ ( 0 )



สถานะออฟไลน์


สงสัยอีกอย่างนึงค่ะ ค่าที่ได้ $err = curl_error($curl);
decode ก็แล้ว แต่ alert ค่า $err ออกมาไม่ได้เลยค่ะ

แต่ถ้า echo $err จะได้ error message เป็น No URL set!
แต่พอเอา $err ไป alert ไม่ขึ้น popup alert เลยค่ะ
แต่ถ้าเอา text ไปalert ได้ปกติ
ไม่รู้ว่ามีอะไรซ่อนเร้นอยู่หรือป่าวค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-12 23:31:30 By : JuNiorWP
 


 

No. 5



โพสกระทู้ ( 3,369 )
บทความ ( 8 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : JuNiorWP เมื่อวันที่ 2019-01-12 23:31:30
รายละเอียดของการตอบ ::
http://php.net/manual/en/function.curl-error.php
ตอนเขียนก็เปิดๆดูหน้าเว็บของ php บ้างว่าฟังก์ชั่นไหน เรียกใช้อย่างไร? ยกเลิกใช้หรือไม่? ค่าต่างๆทั้ง argument, return เป็นอะไร?
มันบอกหมดแล้ว

Quote:
curl_error ( resource $ch ) : string
Returns the error message or '' (the empty string) if no error occurred.


: string หมายความว่าค่าที่ return เป็น string ถ้าไม่มี error ก็ empty string แล้วจะเอาไป decode อะไรล่ะครับ? ก็เอาค่าที่ถ้าหากมันมีไปใช้ได้เลย จะ alert อะไรก็เช็ค if ก่อนแล้วว่ากันไป

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-12 23:56:18 By : mr.v
 


 

No. 6



โพสกระทู้ ( 311 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.v เมื่อวันที่ 2019-01-12 23:56:18
รายละเอียดของการตอบ ::

ทราบค่ะว่ามันเป็น String แต่ที่ไม่รู้คือทำไมมัน Alert ไม่ได้ ไม่รู้ว่าต้องเอาไปทำอะไรก่อนหรือป่าว
หาดูแล้วค่ะ ส่วนมากเค้าจะแค่ echo curl_error($curl)
แต่แค่ต้องการให้มันแสดงเป็น Alert เหมือนกับ message อื่น

err

ตามภาพเลยค่ะ
$err ได้มาจาก curl_error($curl) คือค่า No URL set!
$sy สร้างขึ้นมาลองเปรียบเทียบ คือ ตัวแปร string เหมือนกัน มีค่า No URL set!
dump ตัวแปรออกมาดูแล้ว 2 ตัวนี้ค่าเหมือนกัน type ก็เหมือนกัน

พอ alert $sy ได้ popup ปกติ แต่พอ alert $err กลับไม่มี alert ค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-13 00:15:41 By : JuNiorWP
 


 

No. 7



โพสกระทู้ ( 7,583 )
บทความ ( 1 )



สถานะออฟไลน์


ข้อมูลต้นทางมันส่งมาผิดรูปแบบไงครับ

ต้องไปแก้โปรแกรมต้นทาง ทำยังไงถีงได้ส่งมาผิดรูปแบบ

น่าจะ generate json ด้วย string text ธรรมดา ไม่ได้ใช้ เครื่องมือของ json มันถีงผิดได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-13 10:58:08 By : Chaidhanan
 


 

No. 8



โพสกระทู้ ( 3,369 )
บทความ ( 8 )



สถานะออฟไลน์


curl error
มันจะไม่ alert ได้ไง ผมลองมันก็ alert ได้
ที่มันไม่ alert เพราะ $err ของคุณมันไม่มีค่าอะไรมาเลยมากกว่า.
ถ้าจะเอาให้แน่ก็ลอง if !empty ครอบลงไปก็ได้ ดังรูป.

ปล. โพสต์โค้ดมาเป็นรูปก็โพสต์โค้ดกลับเป็นรูป ไม่โกง


กรณีที่ค่า json ไม่ถูกต้อง ต้องไปโทษตัวเว็บต้นทางครับว่าทำไมถึงส่งมาผิด format ขนาดนี้ได้.
แต่ถ้าจะแก้ไขเองก็แนะนำให้ลองใช้ตัวนี้ https://github.com/adhocore/php-json-fixer หรือลองหาคำว่า php fix json ดูคลาสตัวอื่นๆแทน.

ผมยังไม่เคยลองนะบอกไว้ก่อน.


ประวัติการแก้ไข
2019-01-14 00:55:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-14 00:39:01 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ค่าที่ได้จาก API แบบนี้ เป็น array ใช่ไหมคะ แต่พอใช้ foreach หรือระบุ key ไปเลย แต่ก็ไม่แสดงค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่