JSON�̃f�[�^��\������

�@JSON�Ƃ�JavaScript Object Notation�̗��̂ł��B����JSON�`���̃f�[�^��JavaScript�Ŏ��]�����������ieval()�Ŏ��]���ł���j���̂ł���Ή��ł��\���܂���B��{�I�ɂ͈ȉ��̌`���ɂȂ�܂��B

{
�@"�v���p�e�B��" : �l
}

�@���̃f�[�^��ǂݍ��ݗ��p����ɂ�data = eval("("+�f�[�^+")")�Ƃ���ƕϐ�data��JSON�Œ�`���ꂽ�v���p�e�B�̒l������܂��B�Ⴆ�Έȉ��̂悤��JSON�t�@�C��������Ƃ��܂��B

{
"userID":"ajax",
"userPW":"xanadu"
}

�@���̃f�[�^��ϐ�data�ɓǂݍ��񂾂Ƃ��܂��BuserID�v���p�e�B�̒l��ǂݏo���ɂ�data.userID�ƋL�q���܂��B�����ajax�̕������Ԃ���܂��B���l��data.userPW�Ƃ����xanadu�̕������Ԃ���܂��B�P���ɃI�u�W�F�N�g��.�v���p�e�B���̋L�q�ōς݂܂��B�v���p�e�B�̒l�ɂ͊֐��Ȃǂ���`���邱�Ƃ��ł��܂��B����ɂ��I�u�W�F�N�g��.�v���p�e�B��()�Ƃ��Ė����ɃJ�b�R��t�������ꍇ�Ƀv���p�e�B�̓��e���֐������s����܂��B�‚܂胁�\�b�h���`�����̂Ɠ������ƂɂȂ�܂��B

�@����ł͎��ۂ̃f�[�^��ǂݍ��ݕ\�����Ă݂܂��B�ȉ��̏��i���Ƃ���Ɋւ���f�[�^���L�q���ꂽJSON�f�[�^��ǂݍ��ݕ\�����܂��B�i���ۂ��T���v�������s�����j

���V���v����JSON�f�[�^
{
"itemCode":91,
"itemName":"�����[����",
"itemPrice":300
}

���X�N���v�g
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>JSON�̃f�[�^��\������</title>
<script type="text/javascript" src="xmlhttp.js"></script>
<script type="text/javascript"><!--
function loadDataFile(fName)
{
httpObj = createXMLHttpRequest(displayData);
if (httpObj)
{
httpObj.open("GET",fName,true);
httpObj.send(null);
}
}
function displayData()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
$("result").innerHTML = parseJSON(httpObj.responseText);
}
}
// JSON�̃f�[�^����͂��ĕ\��
function parseJSON(jsData)
{
var data = eval("("+jsData+")");
var resultData = "["+data.itemCode+"] "+data.itemName+" : "+data.itemPrice +"�~";
return resultData;
}
// --></script>
</head>
<body>
<h1>JSON�̃f�[�^��\������</h1>
<p>JSON�̃f�[�^��ǂݍ��ݕ\�����܂�</p>
<form name="ajaxForm">
<input type="button" value="jsondata.txt��ǂݍ���" onClick="loadDataFile('jsondata.txt')"><br>
</form>
<div id="result"></div>
</body>
</html>

�@JSON�f�[�^�͒P���ȃe�L�X�g�t�@�C���Ȃ̂�responseText�Ŏ擾����K�v������܂��B�擾�����f�[�^��eval()�ŕ]�����A�e�v���p�e�B��\������΂ł�������ł��B
�@���ۂɂ͏��i�����P�‚Ƃ������Ƃ͂���܂���B���Ȃ葽���̏��i���X�g������A���ڂ�����ɓn��͂��ł��B���̂悤�ȏꍇ�ɂ͔z��𗘗p����JSON�f�[�^�Ƃ��Ē�`���܂��B����͈ȉ��̂悤�ɂȂ�܂��B

�������̃f�[�^���܂�JSON�f�[�^
{"item":[
{"itemCode":91,
"itemName":"�����[����",
"itemPrice":300},

{"itemCode":94,
"itemName":"���X���[����",
"itemPrice":290},

{"itemCode":95,
"itemName":"�؍����[����",
"itemPrice":320}
]
}

�@���̏ꍇ�A�ϐ�data�Ƀf�[�^���ǂݍ��܂ꂽ�ꍇ�A�ŏ��̃f�[�^�i�����[�����j�ɃA�N�Z�X����ɂ�data.item[0].itemCode�̂悤�ɂ��܂��B�z��Ƃ��Ē�`����Ă���̂ŁA���̂悤�ɋL�q���邱�ƂɂȂ�܂��B2�Ԗڂ̃f�[�^�ł����data.item[1].itemCode�ƂȂ�܂��B���Ƃ͕K�v�ɉ����ăf�[�^�̐������J��Ԃ��΂悢���ƂɂȂ�܂��B
�@��L�̃f�[�^��\������v���O�����͈ȉ��̂悤�ɂȂ�܂��B�i���ۂ��T���v�������s�����j

���X�N���v�g
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>JSON�̃f�[�^��\������2</title>
<script type="text/javascript" src="xmlhttp.js"></script>
<script type="text/javascript"><!--
function loadDataFile(fName)
{
httpObj = createXMLHttpRequest(displayData);
if (httpObj)
{
httpObj.open("GET",fName,true);
httpObj.send(null);
}
}
function displayData()
{
if ((httpObj.readyState == 4) && (httpObj.status == 200))
{
$("result").innerHTML = parseJSON(httpObj.responseText);
}
}
// JSON�̃f�[�^����͂��ĕ\��
function parseJSON(jsData)
{
var data = eval("("+jsData+")");
var resultData = "<table border='1'>";
for(var i=0; i<data.item.length; i++)
{
var iCode = data.item[i].itemCode; // ���i�R�[�h
var iName = data.item[i].itemName; // ���i��
var iPrice = data.item[i].itemPrice; // ���i���i
resultData += "<tr><th>"+iCode+"</th><td>"+iName+"</td><td>"+iPrice+"�~</td></tr>";
}
resultData += "</table>";
return resultData;
}
// --></script>
</head>
<body>
<h1>JSON�̃f�[�^��\������2</h1>
<p>JSON�̃f�[�^��ǂݍ��ݕ\�����܂�</p>
<form name="ajaxForm">
<input type="button" value="jsondata.txt��ǂݍ���" onClick="loadDataFile('jsondata.txt')"><br>
</form>
<div id="result"></div>
</body>
</html>

�@�����܂łŃe�L�X�g�ACSV�AXML�AJSON�f�[�^����舵���\������T���v�������Ă��܂����B�����ł̓e�L�X�g�f�[�^��ǂݍ��݁A�Y���f�[�^�����݂��邩�ǂ����Ƃ������ȒP�ȃf�[�^�x�[�X�������s���Ă݂܂��BSQL (MySQL��PostreSQL�Ȃ�) ��������T�[�o�[�𗘗p���Ă������AjaSQL�i�����o�j�N����̃y�[�W�j���Q�Ƃ����SQL�ƘA�����ăf�[�^�������s�����Ƃ��ł��܂��B

[��O�́@7:�ȒP�ȃf�[�^�x�[�X�������s����]
[�ڎ���]

(2006.1.7)