これは、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 Object Notation の略です'},
{'array': ['A', 'B','C', 'D', 'E'] }
]
}; >この方法で、json というオブジェクトを取得できます。この json オブジェクトには独立したメンバーのクエリ
が含まれ、クエリには配列が含まれます。この配列には 3 つのオブジェクトが含まれます。最初の 2 つのオブジェクトには 3 つのメンバー
id が含まれます。 type、title、最後の Object 配列には配列が含まれています。この説明を理解できましたか?
でもどうやって使うの?
非常に単純です
alert('json.query.length ' オブジェクトがあります。');
//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]);
//alert array index 3=D
これにより、複雑な DOM を扱う必要がなく、必要なデータを簡単に取得できます。
たとえば、上記の json.query[ i ].title では、i 番目のタイトルに含まれる値を取得できます。
プログラミング コミュニティがまだ JSON についてほとんど理解していないとき、PHP は急速に発展しています。または、JSON が何なのか全く分からない
最新バージョン 5.2.0 では PHP がコアに組み込まれており、デフォルトの状態で有効になっています。
他のスクリプト言語と比較して、PHP は最先端を行っています。バージョン 5.2.0 での 2 つの JSON 実装の実装 関数 json_decode() および json_encode()
前者は、JSON 形式の文字列を PHP ネイティブ配列に復元します
後者は、PHP ネイティブ配列を JSON にコンパイルしますformat string
ただし、JavaScript が Unicode をサポートしているため、データベースにアクセスするときに非 Ascii 文字 (中国語、日本語、韓国語
など) を使用する場合は、文字エンコーディングを UTF8 に変換する必要があります。それ以外の場合は、文字列を変換する必要があります。 json_encode() が文字化けする後
= ======================================= ========== = =====
前の記事で JOSN を簡単に紹介した後、
この記事では JOSN の使用方法を実装します
次の例では、 MySQL4.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 で見つける方法がわかりません
mysqli_query($conn,'SET NAMES 'utf8'');
//データを取得
$results = mysqli_query($conn,'SELECT id,type,title FROM news'); Josn string
$json = '';
//サンプルなのでリターンは自分で制御可能 Circle
$i=0
while($row = mysqli_fetch_assoc($results) ))
{
$i ;
$json .= json_encode($row);
/ /データテーブルにはデータが 3 つしかないため、「」を追加する必要はありません," を 3 番目のデータの最後に追加します。最後のデータに "," を追加する必要はないことに注意してください。
if ($i<3)
{
$json 。 = ",";
}
//データを配列
$json = '{"query":[ '. $json. ?>
>