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

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

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

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="https://m.php.cn/ja/faq/321922.html">wupload swfupload 複数ファイルアップロードの実装コード</a></span><span>次の記事:<a class="dBlack" title="wupload swfupload 複数ファイルアップロードの実装コード" href="https://m.php.cn/ja/faq/321924.html">wupload swfupload 複数ファイルアップロードの実装コード</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="https://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://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="https://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="https://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="https://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="https://m.php.cn/ja/faq/2.html" title="正規表現内のすべての式記号 (概要)" class="aBlack">正規表現内のすべての式記号 (概要)</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p></div><div class="footermid"><a href="https://m.php.cn/ja/about/us.html">私たちについて</a><a href="https://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="https://m.php.cn/ja/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><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>