Home | Projects | Tutorials | Articles | live chat | Submit Project | Big Vote
 
Ajax Projects
.NET Frameworks
Java Frameworks
PHP Frameworks
Ruby Frameworks
Other Frameworks
Cool AJAX sites
Ajax Resources
Ajax Tools
JavaScript frameworks

 Home /  Tutorials / JSON tutorials

JSON tutorials





This tutorial will walk you through the steps to create an JSON AJAX driven website. This tutorial is very similar to the original AJAX Web Chat tutorial that I wrote back in November of 2005, but instead of passing the message data back as XML, we will

Read The Full Tutorial.
































 I just recently discovered the joys of JSON after reading about it for months.  As the SecretGeek puts it:

   1. Two months ago you'd never heard of JSON
   2. One month ago you'd heard the term but paid no attention
   3. One week ago you'd heard it mentioned a few times and started to think, right... some more crap to learn
   4. Today you woke up with an alarm bell ringing in the back of your mind that said WHAT THE BLOODY HELL IS THIS JSON THING AND WHY IS IT EVERYWHERE ALL OF A BLOODY SUDDEN!

So what is JSON?  JSON stands for JavaScript Object Notation and is basically a lightweight way of describing hierarchical data.  Since it is so lightweight, it makes it an ideal candidate for AJAX applications.  So what does JSON look like.  The JSON code our JSON AJAX Chat application will be returning will look something like this:

{"messages":
 {"message":[
  {"id":  "17",
   "user": "Ryan Smith",
   "text": "This is an example of JSON",
   "time": "04:41"
  },{"id":  "18",
   "user": "Ryan Smith",
   "text": "Here is another Element",
   "time": "04:41"
  } ]
 }
}

As you can tell, it looks a lot like structured data - and it is.  This same data structure might be represented with XML like:

<?xml version="1.0" ?>
<root>
 <message id="17">
  <user>Ryan Smith</user>
  <text>This is an example of JSON</text>
  <time>04:41</time>
 </message>
 <message id="18">
  <user>Ryan Smith</user>
  <text>Here is another Element</text>
  <time>04:41</time>
 </message>
</root>
 

There are some other cool things you can do with JSON link making embedded JavaScript calls, but they are beyond the scope of this tutorial.

Creating the Chat Tables
So lets get on with it.  The first thing that we need to do is to setup our database table.  We really only need one table that holds the messages, but I keep thinking one day I'll expand this tutorial in to a full AJAX chat system, so we'll add both tables for now.

--Chat Table
DROP TABLE IF EXISTS `chat`;
CREATE TABLE `chat` (
  `chat_id` INT(11) NOT NULL AUTO_INCREMENT,
  `chat_name` VARCHAR(64) DEFAULT NULL,
  `start_time` DATETIME DEFAULT NULL,
  PRIMARY KEY  (`chat_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1;
 
--Message Table
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
  `message_id` INT(11) NOT NULL AUTO_INCREMENT,
  `chat_id` INT(11) NOT NULL DEFAULT '0',
  `user_id` INT(11) NOT NULL DEFAULT '0',
  `user_name` VARCHAR(64) DEFAULT NULL,
  `message` TEXT,
  `post_time` DATETIME DEFAULT NULL,
  PRIMARY KEY  (`message_id`)
) ENGINE=INNODB DEFAULT CHARSET=latin1;

The first table 'chat' won't be necessary for this tutorial.  The second table message will hold our list of messages that are sent from our JSON AJAX Chat web page.  It basically consists of who sent the message,  when they sent it, and what the message was.  The field chat_id would be used if you wanted to have more than one chat session.

AddThis Social Bookmark Button
Top Projects
MessengerFX
MSN Web Messenger
ebuddy
e-messenger
ILoveIM
You Tube
AJAX file upload
KoolIM.com
Meebo
Ajax.NET Professional
Tutorials
The observer pattern in MS AJAX
Monadic Parser in JavaScript
Explore ASP.NET AJAX Web Services in Visual C#. Part 2
Make all your tables sortable
Silverlight Minesweeper
Ajax Accordion Menu
Cake PHP Tutorial
How To Create Your First AJAX and PHP Contact Form
Creating an Ajax Application with Script.aculo.us
Architecture - Cross Domain AJAX Using A Proxy