Java�T�[�u���b�g��JSON-lib�łł���iPhone����Ajax�FiPhone�œ������Ɩ��pWeb�A�v���J������i3�j�i1/2 �y�[�W�j

�Ɩ��p�A�v����iPhone�Ή��o������ɁAiPhone�œ��������߂́A�Ɩ��Ŏg����Web�A�v���P�[�V�������쐬����Ƃ��̃R�c���Љ�܂�

» 2011�N01��17�� 00��00�� ���J
[�Γc�����C������Ѓh���[���E�A�[�c]

�@����́A���悢��Web�A�v��������Ă݂����Ǝv���܂��B�܂�Ajax�̊�{�������炢���A�㔼�ŁA�O��́uiUI�Ŏn�߂�iPhone�pWeb�A�v���J���̊�b�m���v�ŏЉ���uiUI�v�ɑg�ݍ��݂܂��B

�J���҂Ȃ瓖�R�m���Ă���ł��낤�AAjax�̊�{

�@iPhone�ł�Ajax�̎g������PC����Web�u���E�U�ƈꏏ�ŁAXMLHttpRequest�I�u�W�F�N�g���g����Web�T�[�o����XML��JSON�Ȃǂ̃R���e���c���擾���āA��������JavaScript��HTML�����H����Ƃ�������ł��B

�@�����N���N���b�N������A��ʂ̈ꕔ�i�ureplaceIt�v�Ƃ���ID��<div>�v�f�j�ɃT�[�o�Ő��������R���e���c��񓯊��ŕ\������ɂ́A�ȉ��̂悤�ȃR�[�h�ł��B

 1: <a href="javascript:void(0)" onclick="clickDiv()">�N���b�N����������</a>
 2: <div id="replaceIt"></div>
 3: <script>
 4: function clickDiv() {
 5:     var xhr = new XMLHttpRequest();
 6:     xhr.open("POST", "http://�yAjax�̃T�[�o��URL�z", true);
 7:     xhr.onreadystatechange = function() {
 8:         if (xhr.readyState == 4) {
 9:             document.getElementById('replaceIt').innerHTML = xhr.responseText;
10:             xhr = null;
11:         }
12:     }
13:     xhr.send();
14: }
15: </script>

�@���̃R�[�h��������܂��B

  • 5�s�ځFXMLHttpRequest�̃C���X�^���X���쐬
  • 6�s�ځFopen(�y���\�b�h�z,�yURL�z,�y�񓯊��t���O�z)���\�b�h��URL�Ȃǂ��w��B�񓯊��t���O�̒l�Ƃ��āutrue�v���w�肷��ƁA13�s�ڂ�send()���\�b�h�̌Ăяo�����񓯊��ʐM�ƂȂ�
  • 7�`12�s�ځF�T�[�o���烌�X�|���X���Ԃ��Ă����Ƃ��ɃN���C�A���g���Ŏ��s���鏈�����֐��I�u�W�F�N�g�Ƃ��Ē�`���Ă���B�����ł́ureplaceIt�v�Ƃ���ID�̃^�O�̒��g���T�[�o����̃��X�|���X�Œu�������Ă���
  • 13�s�ځF���N�G�X�g�𔭍s�B6�s�ڂ�open()�Ŕ񓯊��t���O���w�肵�Ă���̂ŁA���̌Ăяo���͊�����҂����ɁA�����ɏI������

���͂��ԁI JSON�ɂ��Ajax�̃��X�|���X

�@��قǂ̗�ł́AAjax�̃T�[�o���̃T�|�[�g�����HTML�̒f�Ђ��Ԃ��Ă��邱�Ƃ����҂��āAinnerHTML���g����<div>�`</div>�̒��ɒ��ڃR���e���c�𗬂����݂܂����B

�@�������AXMLHttpRequest���g����Ajax�Ăяo���́A�ʂ�XML�łȂ��Ă��A�ǂ�ȃe�L�X�g�f�[�^����舵���܂��B�A�v���P�[�V�������쐬����ɂ́AinnerHTML���g�����@�̑��ɁAJSON�`���Ń��X�|���X��Ԃ��āAiPhone�̑��ł͒���JavaScript�̃I�u�W�F�N�g�Ƃ��ė��p������@���֗��ł��B

�@JSON�Ƃ́uJavaScript Object Notation�v�̗��ŁAJavaScript�̃\�[�X�R�[�h�����̂܂܃e�L�X�g������Ƃ��đ��M���A��M����eval()�֐����g���āA���̕������]�����邱�ƂŃI�u�W�F�N�g�Ƃ��ė��p�ł���悤�ɂ���d�g�݂ł��B

�@JavaScript�ŁAJSON�������]������ɂ́Aeval()�֐��𒼐ڎg���Ă������̂ł����Aeval()���Z�L�����e�B�I�Ɉ��S�Ɏg���̂͂��Ȃ����̂ŁA�ujson2.js�v���g���̂������ł��傤�B

�@JSON�`���Ń��X�|���X���󂯎��ꍇ�́A�ȉ��̂悤�ȃR�[�h�ŋL�q���܂��B

 1: <script type="text/javascript" src="js/json2.js"></script>
 2: <a href="javascript:void(0)" onclick="clickDiv()">�N���b�N����������</a>
 3: <div id="replaceIt"></div>
 4: <script>
 5: function clickDiv() {
 6:     var xhr = new XMLHttpRequest();
 7:     xhr.open("POST", "http://�yAjax�̃T�[�o��URL�z", true);
 8:     xhr.onreadystatechange = function() {
 9:         if (xhr.readyState == 4) {
10:             var obj = JSON.parse(xhr.responseText);
11:             document.getElementById('replaceIt').innerHTML = obj.message;
12:             xhr = null;
13:         }
14:     }
15:     xhr.send();
16: }
17: </script>

�@��قǂ́AinnerHTML�łƂ̈Ⴂ�́A10�s�ڂŃT�[�o����̃��X�|���X��JSON������Ƃ��ăp�[�X����JavaScript�I�u�W�F�N�g�ɂ��Ă���Ƃ���ł��B

�@���̗�ł́A�ȉ��̂悤�Ɂumessage�v�Ƃ������O�̃v���p�e�B�����ƒI�u�W�F�N�g���T�[�o�����瑗�M����Ă��܂��B

{
  "message": "���̃��b�Z�[�W���\������܂��B",
  "other1" : "���̑��̕�����P",
  "other2" : "���̑��̕�����Q"
}

Java Beans��JSON�ɕϊ�����uJSON-lib�v

�@Ajax�̃T�[�o���ł́AiPhone�����XMLHttpRequest�ɂ��Ăяo���ɉ������āAHTML��JSON�̕�����𐶐�����悤�ȃA�v���P�[�V�������쐬���܂��B���̂Ƃ� XMLHttpRequest ���甭�s����郊�N�G�X�g�ł��A�gHTML�y�[�W�̂��߂�Cookie�h�Ɠ���Cookie�����M����Ă���̂ŁA��ʓI��Web�A�v���P�[�V�����Ɠ����Z�b�V�����Ǘ��̎d�g�݂𗘗p�ł��܂��B

�@�v���b�g�t�H�[���Ƃ��ẮACGI�ł��A�T�[�u���b�g�ł��AASP.NET�ł��g�����ꂽWeb�A�v���P�[�V�����v���b�g�t�H�[���𗘗p����Ƃ����ł��傤�B

�@�M�҂��Ɩ��ō���Ă���uShop����v�u�X��matic�v�ł�Java���g���Ă���̂ŁA�{�e�ł�Java���g�����ꍇ�ɂ‚��ĉ�����܂��B

�@Java���g����Ajax�̃T�[�o������������Ƃ�HTML�ł̏o�͂͂��‚��Ɠ���������OK�ł��BJSON�ŏo�͂���ɂ́A������JSON������𐶐������ɁAJavaScript�Ŏg�������I�u�W�F�N�g��Java Beans�Ƃ��Ď������āA������uJSON-lib�v�Ƃ������C�u������JSON�ɕϊ�������@���ȒP�ł��B


�@��قǂ̗�ł��ƁA�܂�JavaScript�ɓn�������f�[�^���܂Ƃ߂��ȉ��̂悤�ȃN���X�����܂��B

public class SampleObject {
    private final String message;
    private final String other1;
    private final String other2;
 
    public SampleObject(String message, String other1, String other2) {
        this.message = message;
        this.other1 = other1;
        this.other2 = other2;
    }
 
    public String getMessage() {
        return message;
    }
 
    public String getOther1() {
        return other1;
    }
 
    public String getOther2() {
        return other2;
    }
}
SampleObject.java

�@�����āA���̃N���X�̃C���X�^���X��JSON�ɕϊ����āA�T�[�u���b�g�̃��X�|���X�X�g���[���ɏ����o���܂��B

 1: response.setContentType("application/json; charset=UTF-8");
 2: response.setHeader("Cache-Control", "private");
 3: SampleObject obj = new SampleObject("���̃��b�Z�[�W���\������܂��B",
        "���̂ق��̕�����1",
        "���̂ق��̕�����2");
 4: JSONObject json = JSONObject.fromObject(obj);
 5: response.getOutputStream().write(json.toString().getBytes("UTF-8"));

�@���̃R�[�h��������܂��B

  • 1�s�ځF�T�[�u���b�g�̏o�͂Ƃ���JSON�`���̕�������o�͂��邱�Ƃ�錾
  • 2�s�ځFJSON��������L���b�V�����Ȃ��悤�Ɏw��
  • 3�s�ځFJavaScript�ɓn���I�u�W�F�N�g�𐶐��B���ۂ̃A�v���P�[�V�����ł͂����ł��܂��܂ȃf�[�^�𐶐�����
  • 4�s�ځF���O��Java Beans���AJSON-lib�̃C���X�^���X�ɕϊ�
  • 5�s�ځFJSON������ɕϊ����āA��������X�|���X�X�g���[���ɏ����o���Ă���

�@���̗�ł́A������݂̂��o�͂��Ă��܂����A���̂ق��ɂ����낢��ȃ^�C�v�̃I�u�W�F�N�g��JSON�ɕϊ����āAJavaScript�ŗ��p�ł��܂��B

�@��{�I�ɂ́A�ȏ�̓���̑g�ݍ��킹�ł��B

�@�����ɁA�uShop���v�̓����ŁA���ۂ�iPhone��Web�T�[�o�̊Ԃł��Ƃ肵�Ă���l�q���L���v�`�����Ă݂܂����B���̃��N�G�X�g�͕\������A�J�E���g�̃��X�g���擾���邽�߂̂��̂ł��B

�@��������Ajax���N�G�X�g��g�ݍ��킹��iPhone������Web�A�v���P�[�V�����͍���Ă��܂��B

GET https://some-domain.shoprun.jp/h2/STRMobileViewAPI.do?func=favStores HTTP/1.1
Cache-Control: max-age=0
Referer: https://some-domain.shoprun.jp/h2/STRMobileView.do?v=1.2.10&lang=ja
User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8B117 Safari/6531.22.7
HTTP���N�G�X�g
HTTP/1.1 200 OK
Server: Apache
Cache-Control: private
Content-Encoding: gzip
Content-Length: 203
Content-Type: application/json;charset=UTF-8
 
{"FavoriteStores":[{"accountId":"635ba844-845e-425c-a057-4e5085696ec9","disabled":false,"loginId":"ebisu","name":"�b����X","type":9},{"accountId":"f8fdb7a8-b22b-4505-9b6e-72fa21a87541","disabled":false,"loginId":"hiroo","name":"�L���X","type":9}]}
HTTP���X�|���X

�@����܂ł̗�ł́AiUI�Ƃ͊֌W�Ȃ��P�Ȃ�Ajax�̎g�����ł������A���悢�����y�[�W�ł́AiUI��Ajax��g�ݍ��킹�����Ǝv���܂��B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft �� Windows�őO��2025
AI for �G���W�j�A�����O
���[�R�[�h�^�m�[�R�[�h �Z���g���� by ��IT - IT�G���W�j�A���r�W�l�X�̒��S�Ŋ��􂷂�g�D��
Cloud Native Central by ��IT - �X�P�[���u���Ȕ\�͂�g�D��
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B