JSON形式のデータをphpで操作するための実装コード

WBOY
リリース: 2016-06-13 12:04:01
オリジナル
984 人が閲覧しました

知識ポイント:
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 形式にエンコードします:

コードをコピーします コードは次のとおりです:


//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 データをデコードして処理します:



コードをコピー

コードは次のとおりです: //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 ) )

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート