JSON - การสร้าง Objects

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

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

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

JSON - การสร้าง Objects

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

การสร้าง 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) Viewed 5334 times
การสร้าง 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) Viewed 5334 times
แก้ไขล่าสุดโดย buay เมื่อ 10/06/2014 4:10 pm, แก้ไขไปแล้ว 2 ครั้ง.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21991
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: JSON - Objects

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

:icon_plusone:
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
thatsawan เบาปัญญา

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan เบาปัญญา »

ถ้า เขียน 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
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

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

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

ถ้าจะส่งระหว่างไฟล์ php หรือ Server to server
ต้องใช้ Web service
https://www.mindphp.com/forums/viewtopic ... 29&t=12011
ติดตาม 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
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

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

เเล้ว ถ้าจากเขียนจาก 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
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

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

ตัวอย่าง 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
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

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

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

 $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) Viewed 5310 times
เเล้วถ้าทำเเบบนี้

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

 <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
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

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

datajson.test.length
ติดตาม 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
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

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

ได้เเล้วๆ..............

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

<!DOCTYPE html>
<html>
    <head>
        <title> CSS </title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <style>
           #mindphp{
                font-size: xx-large ;
                background-color: #00FF00;
            }
            div {
                font-size: xx-large ;
                background-color: #FFFF00;
            }       
        </style>
        <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){      
          $.ajax({
                    url: 'json_test.php',
                    success: function( datajson ) {
                        $('#mindphp2').html(''); // ให้เเทนที่ TODO write content เป็นว่างเปล่า
                        $.each(datajson.test, function(k, v) { //datajson.test 2 มิติ 
//                            alert(k + '=>' + v); //ให้ alert ค่า
                            $('#mindphp2').append(' ' + k + ' => ' + v) //วนลูป แสดงค่าออกมา .append คือให้แสดงค่า เรียงต่อจากตำแหน่ง#mindphp2 ถ้าใช้ html.จะได้ค่าสุดท้ายค่าเดียว
                        });
                    },
                      cache: false
                });
         
           });  
        </script>
    </head>
        <body>
            
            <div id="mindphp2">TODO write content</div>
           
        </body>
</html>

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

<?php
$arr =  array('test' =>
       
                    (array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5))
         
             );
header('Content-Type: application/json');
echo json_encode($arr);
 
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

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

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