JSON - การสร้าง Objects

ความรู้เกี่ยวกับ XML RML และ ภาษา Markup อื่นๆ

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

buay
PHP Super Member
PHP Super Member
โพสต์: 250
ลงทะเบียนเมื่อ: 02/06/2014 9:55 am

JSON - การสร้าง Objects

โพสต์โดย buay » 10/06/2014 11:57 am

การสร้าง Objects

ตัวอย่างการสร้าง Objects ใน Javascript โดยใช้ JSON

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

<html>
<head>
<title>Creating Object JSON with JavaScript</title>
<script language="javascript" >

  var mindphp = { "name" : "mindphp.com", "year"  : 2012 }; 
  document.write("Example");
  document.write("<br>");
  document.write("Website Name="+mindphp.name+""); 
  document.write("<br>");
  document.write("Year="+mindphp.year+""); 

</script>
</head>
<body>
</body>
</html>

ผลที่ได้คือ
03.png
03.png (7.59 KiB) เปิดดู 1147 ครั้ง


การสร้าง Array Objects

ตัวอย่างการสร้าง Array Objects ใน Javascript โดยใช้ JSON

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

<html>
<head>
<title>array object</title>
<script language="javascript" >

document.writeln("<center><b>JSON Array Object</b></center>");
document.writeln("<br>");

var member =
     { "private" : [
                  { "id" : 001, "Name"  : "ABC"  },
                  { "id" : 002, "Name"  : "XYZ"  }
               ],                       
      "public"  : [
                  { "id" : 111, "Name"  : "OOP"  },
                  { "id" : 112, "Name"  : "PHP"  }
               ]   
}   

var i = 0

document.writeln("<center>++++++++++  private  ++++++++++</center>");
document.writeln("<br>");

document.writeln("<table border='1' width=200 align=center >");
document.writeln("<tr height=50 align=center><td width=200><b>id</b></td><td width=200><b>name</b></td></tr>");
for(i=0;i<member.private.length;i++)
{     
    document.writeln("<tr align=center><td>"+ member.private[i].id +"</td><td width=100>"+ member.private[i].Name +"</td></tr>");
   
}   
document.writeln("</table>");   

document.writeln("<br>");
document.writeln("<center>++++++++++  public  ++++++++++</center>");
document.writeln("<br>");

document.writeln("<table border='1' width=200 align=center >");
document.writeln("<tr height=50 align=center><td width=200><b>id</b></td><td width=200><b>name</b></td></tr>");
for(i=0;i<member.public.length;i++)
{     
    document.writeln("<tr align=center><td>"+ member.public[i].id +"</td><td width=100>"+ member.public[i].Name +"</td></tr>");     
}
document.writeln("</table>");

</script>
</head>
<body>
</body>
</html>

ผลที่ได้คือ

04.png
04.png (14.81 KiB) เปิดดู 1147 ครั้ง
แก้ไขล่าสุดโดย buay เมื่อ 10/06/2014 4:10 pm, แก้ไขไปแล้ว 2 ครั้ง.

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 6619
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: JSON - Objects

โพสต์โดย tsukasaz » 10/06/2014 1:55 pm

:icon_plusone:
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)

thatsawan เบาปัญญา

Re: JSON - การสร้าง Objects

โพสต์โดย thatsawan เบาปัญญา » 22/06/2014 12:27 am

ถ้า เขียน php ไว้อีกไฟล์ เเล้วให้เเสดงผล เเบบวน loop ออกมา จะทำได้อย่างไร เเบบไม่เขียนไว้ในไฟล์ html

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


$arr 
= array('a' => date('Y-m-d H:i:s'), 'b' => 2'c' => 3'd' => 4'e' => 5);
echo 
json_encode($arr);
 

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

      for(i=0;i<(....?....).(...?...).length;i++)
               {     
                  document.writeln ....
                  
               }   

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

Re: JSON - การสร้าง Objects

โพสต์โดย mindphp » 22/06/2014 12:52 am

json_encode()
ส่งค่าให้ Client (Javascript Json) เอาไปใช้งานต่อ

ถ้าจะส่งระหว่างไฟล์ php หรือ Server to server
ต้องใช้ Web service
viewtopic.php?f=29&t=12011
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 9770
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: JSON - การสร้าง Objects

โพสต์โดย thatsawan » 22/06/2014 9:22 am

เเล้ว ถ้าจากเขียนจาก php ส่งไป html (ตัวอย่างด้านบน เขียนไว้ในไฟล์ html เเล้วก้อวน loop ในไฟล์ html เลย)

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

var member =
     { "private" : [
                  { "id" : 001, "Name"  : "ABC"  },
                  { "id" : 002, "Name"  : "XYZ"  }
               ],                       
      "public"  : [
                  { "id" : 111, "Name"  : "OOP"  },
                  { "id" : 112, "Name"  : "PHP"  }
               ]   
}   

var i = 0

เเต่ ถ้าเป็น จากไฟล์ php เเล้วจะส่งมา html เเบบดึงมาเเสดงทั้งหมด
ตอนนี้

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

$arr = array('a' => date('Y-m-d H:i:s'), 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr); 

แปลงออกมาเป็นเเบบนี้
{"a":1,"b":2,"c":3,"d":4,"e":5}
เเล้วถ้าจะให้วนออกมาแสดงผลเราจะต้องเขียน อะไรเพิ่มใน php ถึงจะมาวนได้

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

    for(i=0;i<(....?....).(...?...).length;i++)
               {     
                  document.writeln ....
                 
               }   

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

Re: JSON - การสร้าง Objects

โพสต์โดย mindphp » 22/06/2014 12:26 pm

ตัวอย่าง jsondata.length ได้เลย เพราะส่งมาเป็น array อยู่แล้ว
แต่ถ้าจะส่งมาหลายๆ ค่าในหนึ่งตัวแปล เช่นตัวแปล a ตอนกำหนดในไฟล์ php ต้อง กำหนดเป็น array หรือ object
เป็นมิติที่สอง ของ
array('a' => array('aa'=>'11,'ab'=>'12'), ....

ลองดูครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 9770
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: JSON - การสร้าง Objects

โพสต์โดย thatsawan » 22/06/2014 3:12 pm

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

 $arr =  array('test' =>
        array(
                    (array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5))
             )        
             
);
echo json_encode($arr); 


รัน php ออกมาได้ {"test":[{"a":"1","b":2,"c":3,"d":4,"e":5}]}
แล้วก็

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

 $arr =  array('test' =>
       
                    
(array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5))
         
             
);
echo json_encode($arr);

รัน php ออกมาได้ {"test":{"a":1,"b":2,"c":3,"d":4,"e":5}}

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

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js">
        <script type="text/javascript">
        $(document).ready(function(){     
            
                $.ajax({
                    url: 'json_test_php.php',
                    dataType: "json",
                    success: function( datajson ) {
               // $( "#mindphp2").html(datajson.test);
               alert(datajson.test);
                      },
                })
         
           }) 
        </script>

รัน html ทั้ง จาก phpทั้ง 2 แบบจะได้
Untitled.png
Untitled.png (6.11 KiB) เปิดดู 1123 ครั้ง

เเล้วถ้าทำเเบบนี้

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

 <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js">
        <script type="text/javascript">
        $(document).ready(function(){       
            
                $.ajax({
                    url: 'json_test_php.php',
                    dataType: "json",
                    success: function( datajson ) {
                $( "#mindphp2").html(datajson.test.a);
               alert(datajson.test.a);
                      },
                })
         
           }) 
        </script>

ก็จะเเสดงผล ค่าของ a ได้มา 1 ต่า
ทำไมถึงเป็นเเบบนี้ค่ะ เเล้วพอหนูใส่ .length ก็ขึ้น underfined หนูไม่รู้จะใส่ตรงไหน ?

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

Re: JSON - การสร้าง Objects

โพสต์โดย mindphp » 22/06/2014 6:01 pm

datajson.test.length
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042


ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน