ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingสอบเรื่องดึงข้อมูล JSON ครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: สอบเรื่องดึงข้อมูล JSON ครับ  (อ่าน 1235 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
verygood
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« เมื่อ: 17 มิถุนายน 2017, 11:57:44 »

Datajson = {
    "people": {
      "person": [{
        "name": "Peter",
        "age": <div id="myDIV"><p class="child1">12 </p><p class="child2"> 20 </p><p class="child3"> 30 </p>< /div>,
        "sex": "male"
      },
      {
        "name": "Zara",
        "age": 65,
        "sex": "female"
      }]
    }
  }

ตามข้อมูลด้านบนคือผมอยากดึงข้อมูลที่อยู่ใน class="child3" คือ 30 อ่ะครับต้องเขียนโค้ดประมาณไหนครับ tyscript หรือ javascript ก็ได้ครับ  ขอบคุณครับ wanwan017
« แก้ไขครั้งสุดท้าย: 17 มิถุนายน 2017, 11:58:35 โดย verygood » บันทึกการเข้า
infamous
ก๊วนเสียว
*

พลังน้ำใจ: 14
ออฟไลน์ ออฟไลน์

กระทู้: 295



ดูรายละเอียด
« ตอบ #1 เมื่อ: 17 มิถุนายน 2017, 13:00:44 »

ลองประยุกต์ดูนะครับ ผมแค่ทดสอบใน dev console

// JS
โค๊ด:
var item=Datajson.people.person[0].age; // 0 is object index
var mItem=item.match('child3">(.*?)<')[1].trim();
console.log(mItem);
บันทึกการเข้า
verygood
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« ตอบ #2 เมื่อ: 17 มิถุนายน 2017, 14:13:16 »

ลองประยุกต์ดูนะครับ ผมแค่ทดสอบใน dev console

// JS
โค๊ด:
var item=Datajson.people.person[0].age; // 0 is object index
var mItem=item.match('child3">(.*?)<')[1].trim();
console.log(mItem);
wanwan017
สุดยอด ได้แล้วครับขอบคุณมากๆครับพี่
« แก้ไขครั้งสุดท้าย: 17 มิถุนายน 2017, 14:18:46 โดย verygood » บันทึกการเข้า
buakaew
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,365



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 17 มิถุนายน 2017, 15:21:30 »

โอ้ววเทพ  wanwan011
บันทึกการเข้า

Affiliate ไทยจ่ายจริงกินหลายชั้นลึกหลากหลายผลิตภัณฑ์Affiliate ไทย
รีวิว คูปองฟรี Hosting ไทยและเทศรีวิว Hosting
ดูดวงออนไลน์ฟรีดูดวง
พระเครื่องออนไลน์พระเครื่อง

verygood
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« ตอบ #4 เมื่อ: 27 กรกฎาคม 2017, 10:18:04 »

ลองประยุกต์ดูนะครับ ผมแค่ทดสอบใน dev console

// JS
โค๊ด:
var item=Datajson.people.person[0].age; // 0 is object index
var mItem=item.match('child3">(.*?)<')[1].trim();
console.log(mItem);

พี่ครับถ้า class child3 มีสองหรือมีมากกว่าสองclassละครับเราจะเขียนยังไงเพื่อที่จะดึงออกมาทีละอัน

        <div class="body">
            <div><span class="child3">ข้อมูลที่ 1</span></div>
            <div><span class="child3">ข้อมูลที่ 2</span></div>
        </div>

var mItem=item.match('child3">(.*?)<')[1].trim(); //โค้ดนี้ดึงออกมาแค่อันเดียว
บันทึกการเข้า
kumabro
Newbie
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 24



ดูรายละเอียด
« ตอบ #5 เมื่อ: 27 กรกฎาคม 2017, 14:34:34 »

ลองสร้าง element จำลองมาใช้ชั่วคราวมั้ยครับ  wanwan011

โค๊ด:
var item = Datajson.people.person[0].age;
var a = document.createElement('div');
a.innerHTML = item;
var childElems = a.getElementsByClassName('child');
console.log(eval(childElems[0].innerText));
บันทึกการเข้า
verygood
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 23



ดูรายละเอียด
« ตอบ #6 เมื่อ: 27 กรกฎาคม 2017, 19:03:39 »

ลองสร้าง element จำลองมาใช้ชั่วคราวมั้ยครับ  wanwan011

โค๊ด:
var item = Datajson.people.person[0].age;
var a = document.createElement('div');
a.innerHTML = item;
var childElems = a.getElementsByClassName('child');
console.log(eval(childElems[0].innerText));

Wow!!! มีแต่ท่านเทพๆ แค่เอาโค้ดไปวางก็ได้เลย ผมหาวิธีตั้งหลายวัน ขอบคุณมากๆครับ wanwan017
« แก้ไขครั้งสุดท้าย: 27 กรกฎาคม 2017, 19:08:45 โดย verygood » บันทึกการเข้า
somkuan
ก๊วนเสียว
*

พลังน้ำใจ: 146
ออฟไลน์ ออฟไลน์

กระทู้: 448



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 28 กรกฎาคม 2017, 11:15:01 »

ขอบคุณครับ
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์