ホームページ  >  記事  >  バックエンド開発  >  エベレスト究極版 PHP6準備講座 JSONサンプルコード

エベレスト究極版 PHP6準備講座 JSONサンプルコード

WBOY
WBOYオリジナル
2016-07-29 08:38:391080ブラウズ

JavaScript プログラミング言語、標準 ECMA-262 第 3 版 - 1999 年 12 月に基づいたサブセットです
JSON は主に、各オブジェクト (オブジェクト) をラップするために {} のペアを使用し、各配列 (配列) をラップするために [] のペアを使用します。 "" のペアで各文字列をラップし、コンマを使用して変数を区切ります。データ型には文字列、数値、配列、オブジェクトが含まれます
次の単純な JSON 形式は、メンバー変数を持つオブジェクト json を記述します。このメンバー変数には 3 つのオブジェクトが含まれます
内容をクリップボードコードにコピーします:
var json = {
'query' : [
{'id':'1','type':'a',' title':'PHP 5.2.0 の新機能 JSON デコーダ &エンコーダ'},
{'id':'2','type':'b','title':'JSON フルネーム JavaScript オブジェクト表記'},
{'array': ['A', 'B' ,'C', 'D', 'E']}
]
}; このようにして、json というオブジェクトを取得できます。この json オブジェクトには、独立したメンバーのクエリ
が含まれており、クエリには配列が含まれています。最初の 2 つのオブジェクトには 3 つのメンバー
が含まれており、最後の Object 配列には配列が含まれています。この説明も明確です。
でもどうやって使うの?
とても簡単です
alert('+json.query.length + ' object.');
//alert 3 つのオブジェクトがあります
alert('type='+json.query[1].type+' rntitle '+json.query[1].title);
//alert type=b title=JSON フルネーム JavaScript オブジェクト表記
alert('arrayindex 3='+json.query[2].array[3]) ;
//アラート配列インデックス 3=D
これにより、複雑な DOM を扱う必要がなく、簡単に必要なデータを取得できます
例えば、上記の例 json.query[ i ]。タイトルはこの方法で取得できます。 i 番目のタイトルに含まれる値
PHP は非常に急速に開発されており、プログラミング コミュニティがまだ JSON についての知識がほとんどない、または JSON が何であるかまったくわかっていないとき
PHP はコアに組み込まれています。最新バージョン 5.2.0 では、デフォルトの状態になっています。はい、他のスクリプト言語と比較して、PHP は先頭に立って、バージョン 5.2.0 で JSON 用の 2 つの関数 json_decode() と json_encode() を実装しました。
前者はJSON形式の文字列をPHPネイティブ配列に復元します
後者はPHPのネイティブ配列をJSON形式の文字列にコンパイルします
ただし、JavaScriptはUnicodeをサポートしているため、データベースにアクセスするときに中国語、日本語などの非Ascii文字を使用すると、韓国語と韓国語の場合は、文字を変更する必要があります。エンコーディングを UTF8 に変換しないと、json_encode() 以降の文字列が文字化けします
======================== ========== = =======================
前の記事でJOSNについて簡単に紹介した後
この記事では実装しますJOSN の使用方法
以下の例では、バージョン 1 以降の使用が必要です
コーディング プロセス全体で utf8 を使用します
テーブルには、id、type、title の 3 つのフィールドがあります
データテーブルの仕様は以下の通りです
内容をクリップボードコードにコピーします:
CREATE TABLE `news` (
` id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(255) NOT NULL default '' ,
`title` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE =MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
コンテンツをクリップボード コードにコピーします:
/ /接続を確立します
$conn = mysqli_connect("localhost", 'root', '')or die( 'データベースに接続できません')
//データベースを選択します
mysqli_select_db($conn,'mydata'); die('データベースを選択できません');
//Google Find の使い方がわかりません
mysqli_query($conn,'SET NAMES 'utf8''); //データを取得します
$results = mysqli_query($conn,'SELECT id,type,title FROM news');
//Josn string
$ json = '';
//サンプルなのでループは自分で制御できます
$i=0;
while($row = mysqli_fetch_assoc($results))
{
$json .= json_encode($row );
//データテーブルには 3 つのデータしかありません。 3 番目のデータの最後に「,」を追加する必要はありません。最後のデータ
if ($i<3)
{
$json に「,」を追加する必要はないことに注意してください。 = ",";
}
}
//データを配列に詰め込みます
$json = '{"query":[ '.$json.']}';?>
< ;!doctype html public " -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Json の例< /title> <br> <meta http-equiv="Content-Type" c /> <br><meta http-equiv="Pragma" c /> http-equiv="キャッシュ コントロール" c /> <br></head> <br><script type= "text/javascript"> <br>var json = <?php echo $json?>; <br>alert('+json.query.length + ' オブジェクトがあります。'); <br>alert('type='+ json.query [1]. type+'rntitle'+json.query[1].title); <br>//前の紹介で使用<br></script> <br>Json<br> をデコードします <br>$s_JSON_Decoded = json_decode($json,true); <br>//データを取得します <br>foreach ($s_JSON_Decoded as $row) <br>{ <br>foreach ($row as $rowa) <br>{ <br>echo $rowa ['title ']."<br> "; <br>} <br>} <br>?> <br></body> <br></html> <br>簡単なドリルの後<br> 皆さんは JSON についてより深く理解できたと思います。理解してください<br> もちろん、JSON のアプリケーションはそうではありません例のように簡単です<br>興味がある方は一緒に勉強しましょう <br> 上記は、Everest Ultimate Edition の内容を含む、PHP6 準備クラスの JSON サンプル コードを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。 <br> <br> <br></p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="wupload swfupload 複数ファイルアップロードの実装コード" href="http://m.php.cn/ja/faq/321922.html">wupload swfupload 複数ファイルアップロードの実装コード</a></span><span>次の記事:<a class="dBlack" title="wupload swfupload 複数ファイルアップロードの実装コード" href="http://m.php.cn/ja/faq/321924.html">wupload swfupload 複数ファイルアップロードの実装コード</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1.html" title="cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法" class="aBlack">cURL を使用して PHP で Get リクエストと Post リクエストを実装する方法</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2.html" title="正規表現内のすべての式記号 (概要)" class="aBlack">正規表現内のすべての式記号 (概要)</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><p>ホームページ</p></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><p>コース</p></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><p>に質問</p></a></li><li><a href="http://m.php.cn/ja/login"><b class="icon5"></b><p>私の</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/ja/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/ja/"><b class="icon1"></b><span>ホームページ</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course.html"><b class="icon2"></b><span>コース</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/article.html"><b class="icon3"></b><span>記事</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/wenda.html"><b class="icon4"></b><span>に質問</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/dic.html"><b class="icon6"></b><span>辞書</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/course/type/99.html"><b class="icon7"></b><span>マニュアル</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/xiazai/"><b class="icon8"></b><span>ダウンロード</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/ja/faq/zt" title="特集"><b class="icon12"></b><span>特集</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/ja/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/ja/" >ホームページ</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/article.html" class="hover">記事</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/wenda.html" >に質問</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/course.html" >コース</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/faq/zt" >特集</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/xiazai" >ダウンロード</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/game" >ゲーム</a></div><div class="swiper-slide"><a href="http://m.php.cn/ja/dic.html" >辞書</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:setlang('de');" class="language course-right-orders chooselan " href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>