สอบเรื่องดึงข้อมูล JSON ครับ

เริ่มโดย verygood, 17 มิถุนายน 2017, 11:57:44

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

verygood

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:

infamous

ลองประยุกต์ดูนะครับ ผมแค่ทดสอบใน 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

#2
อ้างถึงจาก: infamous ใน 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);

:wanwan017:
สุดยอด ได้แล้วครับขอบคุณมากๆครับพี่

buakaew

Affiliate ไทยจ่ายจริงกินหลายชั้นลึกหลากหลายผลิตภัณฑ์[direct=https://affiliateinthai.blogspot.com/]Affiliate ไทย[/direct]
รีวิว คูปองฟรี Hosting ไทยและเทศ[direct=https://www.hostingdee.com/]รีวิว Hosting[/direct]
ดูดวงออนไลน์ฟรี[direct=https://duduangfree.com/]ดูดวง[/direct]
พระเครื่องออนไลน์[direct=http://www.siampraboran.com/]พระเครื่อง[/direct]


verygood

อ้างถึงจาก: infamous ใน 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);


พี่ครับถ้า 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

ลองสร้าง 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

#6
อ้างถึงจาก: kumabro ใน 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));


Wow!!! มีแต่ท่านเทพๆ แค่เอาโค้ดไปวางก็ได้เลย ผมหาวิธีตั้งหลายวัน ขอบคุณมากๆครับ :wanwan017: