สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json
ผมลองดึงค่าจากไฟล์ json มาลองดึงข้อมูลมาทดลองโดยลองใช้ var_dump แล้วขึ้นว่าเป็นค่า string นี้ต้องแปลงสตริงอะไรหรือเปล่าครับ

โค้ด: เลือกทั้งหมด

$data = json_decode($json_file, true);

var_dump($data[0]);
Programming - PHP-1.png
Programming - PHP-1.png (87.82 KiB) Viewed 1118 times
ลองเรียกใช้ FORUM_ID แล้วมันขึ้น error ครับ

โค้ด: เลือกทั้งหมด

var_dump($data[0]['FORUM_ID'])
Error: Cannot access offset of type string on string: Cannot access offset of type string on string
Programming - PHP-1.png
Programming - PHP-1.png (7.06 KiB) Viewed 1118 times
เกี่ยวกับไฟล์ json หรือเปล่าครับ ลองเปิดไฟล์ json ใน vs code มันขึ้นขีดเส้นใต้แดง
Programming - PHP-2.png
Programming - PHP-2.png (68.5 KiB) Viewed 1118 times
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย flook »

โค้ด: เลือกทั้งหมด

$json  =file_get_contents('ชื่อไฟล.json');
$json  = json_decode($json);

echo "<pre>";
print_r(json_decode($json[1]));
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
น่าจะ ต้อง json_decode อีกรอบครับ
ประมาณนี้ไม่ครับ ลองดู
ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

flook เขียน: 24/01/2023 4:22 pm

โค้ด: เลือกทั้งหมด

$json  =file_get_contents('ชื่อไฟล.json');
$json  = json_decode($json);

echo "<pre>";
print_r(json_decode($json[1]));
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
น่าจะ ต้อง json_decode อีกรอบครับ
ประมาณนี้ไม่ครับ ลองดู
ผมลองทำแล้วครับ มันขึ้นค่าว่างครับ

โค้ด: เลือกทั้งหมด

$json  = file_get_contents('json_recent_topics.json');
$json  = json_decode($json);

echo "<pre>";
print_r(json_decode($json[1]));
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
Programming - PHP-1.png
Programming - PHP-1.png (1.41 KiB) Viewed 1099 times
ตัด [1] ใน $json ออก ผลลัพธ์ก็เหมือนกันครับได้ค่าว่าง
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย flook »

Thanapoom1514 เขียน: 24/01/2023 4:26 pm
flook เขียน: 24/01/2023 4:22 pm

โค้ด: เลือกทั้งหมด

$json  =file_get_contents('ชื่อไฟล.json');
$json  = json_decode($json);

echo "<pre>";
print_r(json_decode($json[1]));
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
น่าจะ ต้อง json_decode อีกรอบครับ
ประมาณนี้ไม่ครับ ลองดู
ผมลองทำแล้วครับ มันขึ้นค่าว่างครับ

โค้ด: เลือกทั้งหมด

$json  = file_get_contents('json_recent_topics.json');
$json  = json_decode($json);

echo "<pre>";
print_r(json_decode($json[1]));
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
Programming - PHP-1.png
ตัด [1] ใน $json ออก ผลลัพธ์ก็เหมือนกันครับได้ค่าว่าง
ลอง var_dump ค่าเป็นช่วงๆ ตั้งแต่รับค่าเข้ามาหน่อยครับ
ค่าหายไปใช่วงไหน
ภาพประจำตัวสมาชิก
Thanapoom1514
PHP VIP Members
PHP VIP Members
โพสต์: 4329
ลงทะเบียนเมื่อ: 04/07/2022 9:46 am

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย Thanapoom1514 »

โอเคครับผมได้แล้ว ลองใช้ฟังก์ชันของ joomla อ่านไฟล์ json แทน file_get_contents

โค้ด: เลือกทั้งหมด

$json_file = JFile::read(JPATH_ROOT . "/modules/mod_md_recent/json/json_recent_topics.json");
$json  = json_decode($json_file);

echo "<pre>";
var_dump($json);
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
var_dump ตัวแรก
Programming - PHP-1.png
Programming - PHP-1.png (302.6 KiB) Viewed 1085 times
var_dump ตัวที่ 2
Programming - PHP-2.png
Programming - PHP-2.png (94.32 KiB) Viewed 1085 times
:gfb:
flook
PHP VIP Members
PHP VIP Members
โพสต์: 3751
ลงทะเบียนเมื่อ: 06/06/2022 9:43 am

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย flook »

Thanapoom1514 เขียน: 24/01/2023 4:46 pm โอเคครับผมได้แล้ว ลองใช้ฟังก์ชันของ joomla อ่านไฟล์ json แทน file_get_contents

โค้ด: เลือกทั้งหมด

$json_file = JFile::read(JPATH_ROOT . "/modules/mod_md_recent/json/json_recent_topics.json");
$json  = json_decode($json_file);

echo "<pre>";
var_dump($json);
echo "</pre>";
echo "<pre>";
var_dump(json_decode($json[1]));
echo "</pre>";
var_dump ตัวแรก
Programming - PHP-1.png
var_dump ตัวที่ 2
Programming - PHP-2.png
ลองแปลง object เป็น array

โค้ด: เลือกทั้งหมด


$json = file_get_contents('json.json');
$json = json_decode($json);
$data =  (array)json_decode($json[1]); แปลง object เป็น array

echo "<pre>";
var_dump($data);
echo "</pre>";
echo "<pre>";
var_dump($data['FORUM_ID']);
echo "</pre>";

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เช็คไฟล์ json ก่อนครับ key มันมีมิติเกินความจำเป็นและต้องถอดหลายครั้ง ควรเริ่มจากไฟล์ รูปแบบ json ที่เรียบง่าย
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามเอาค่าจากไฟล์ตัวอย่างข้อมูล json

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ตัวอย่างไฟล์ json ถูกที่ใช้งานง่าย เปิด-ปิด tag แรกด้วย

โค้ด: เลือกทั้งหมด

{
   key:value
}
ตัวอย่าง มิติเดียว

โค้ด: เลือกทั้งหมด

{
   "name1":"mindphp",
   "name2":"mindphp2",
}
ข้อความเป็น ASCII strings
ถ้า key ไหนเป็นค่าว่า value ใส่เป็น []

ถ้าเป็นหลายมิติ ใช่ [] แยกมิติที่สอง เช่น

โค้ด: เลือกทั้งหมด

{
  "multi_dimention": [
    {"name": "admin","name2": "mindphp12", "id": 1`},
    {"name": "sales","name2": "mindphp22", "id": 2}
  ]
}
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 105