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