知識ポイント:
1. JSON データ形式の概要
2. データを JSON 形式にエンコードする
3. JSON データをデコードして操作する
JSON データ形式は次のように表されます:
コードをコピー コードは次のとおりです:
{ "programmers": [
{ "firstName": "Brett", "lastName ": "マクラフリン", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },
{ "firstName ": "Elliotte", "lastName":"Harold", "email": "cccc" }
],
"authors": [
{ "firstName": "Isaac", "lastName" : " アシモフ", "ジャンル": "サイエンス フィクション" },
{ "名": "タッド", "姓": "ウィリアムズ", "ジャンル": "ファンタジー" },
{ "名": "フランク", "姓": "ペレッティ", "ジャンル": "キリスト教小説" }
],
"ミュージシャン": [
{ "名": "エリック", "姓": "クラプトン", "instrument": "ギター" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
] }
コードをコピーします コードは次のとおりです:
//php で JSON 形式のデータを表すために配列が使用されます
$arr = array(
'firstname' => iconv('gb2312', 'utf-8', 'Feicheng'),
'lastname' => iconv('gb2312', 'utf-8', 'Do Not Disturb'),
'contact' => array(
'email' =>'fcwr@jb51.net',
'website' =>'http://www.jb51.net',
)
)// 配列を JSON にエンコードします。 data format
$json_string = json_encode($arr);
//JSON 形式のデータを直接出力できます
?> UTF-8 以外のエンコードでは、中国語の文字はエンコードされず、結果は null 値になるため、gb2312 を使用して PHP コードを作成する場合は、iconv または mb を使用して変換する必要があることが指摘されています。中国語を含むコンテンツを UTF-8 に変換してから、json_encode を実行します。
出力: (JSON 形式)
{"firstname":"u975eu8bda","lastname":"u52ffu6270","contact":{"email":"fcwr@jb51.net","website": "http://www.jb51.net"}}
コードは次のとおりです: //php で配列を使用して JSON 形式のデータを表現します
$arr = array('firstname' => iconv('gb2312' , 'utf -8', '誠実ではない'),
'姓' => iconv('gb2312', 'utf-8', '邪魔しないでください'),
'連絡先' => array(
'メール' =>'fcwr@jb51.net',
'ウェブサイト' =>'http://www.jb51.net',
)
); 🎜>// 配列を JSON データ形式にエンコードします。
$json_string = json_encode($arr);
// デコードされたデータは JSON データ形式ではないため、echo で直接出力できません。
$obj = json_decode ($json_string);
//配列形式への強制変換
$arr = (array) $obj;
//データを配列形式で呼び出します
echo iconv ('utf-8' ,'gb2312',$arr['firstname']);
echo '';
//出力配列構造
print_r($arr); 🎜>?>
出力:
Feicheng
配列 ( [名] => => fcwr@jb51.net [ウェブサイト] => http://www. jb51.net ) )