ホームページ >バックエンド開発 >PHPチュートリアル >PHP による JSON の使用例分析_PHP チュートリアル

PHP による JSON の使用例分析_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:38:56937ブラウズ

PHPでJSONをエンコードする(json_encode)

PHP json_encode() 関数は、PHP で JSON をエンコードするために使用されます。この関数は、成功した場合は JSON で表される値を返し、失敗した場合は FALSE を返します。

文法:

string json_encode ( $value [, $options = 0 ] ) パラメータ:

値: エンコードされる値。この関数は UTF-8 でエンコードされたデータにのみ適用されます。

オプション: このオプションの値は、JSON_HEX_TAG JSON_HEX_QUOT、JSON_HEX_AMP、JSON_HEX_APOS、JSON_NUMERIC_CHECK、JSON_PRETTY_PRINT、JSON_UNESCAPED_SLASHES、JSON_FORCE_OBJECT で構成されるビットマスクです

次の例は、PHP を使用して配列を JSON に変換する方法を示しています。

コードは次のとおりです
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>

実行中に、次の結果が生成されます:

{"a":1,"b":2,"c":3,"d":4,"e":5}

次の例は、PHP オブジェクトを JSON に変換する方法を示しています。

コードは次のとおりです クラスEmp {

public $name = "";
公開 $hobby = "";
パブリック $birthdate = "";
}
$e = 新しい Emp();
$e->name = "サチン";
$e->趣味 = "スポーツ";
$e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
$e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

echo json_encode($e); ?>


実行中に、次の結果が生成されます:

{"名前":"サチン","趣味":"スポーツ","生年月日":"1974/08/05 12:20:03 pm"}

PHP で JSON をデコードする (json_decode)

PHP json_decode() 関数は、PHP で JSON をデコードするために使用されます。この関数は、json から適切な PHP タイプにデコードされた値を返します。

文法:

mixed json_decode ($json [,$assoc = false [, $ Depth = 512 [, $options = 0 ]]]) パラメータ:

json_string: UTF-8でエンコードされたデータエンコードされた文字列である必要があります

assoc: これはブール型パラメータであり、TRUE に設定すると、返されたオブジェクトは連想配列に変換されます。

Depth: 再帰の深さを指定する整数型パラメータです

オプション: JSON_BIGINT_AS_STRING をサポートする整数型のビットマスク JSON デコードです

次の例は、PHP を使用して JSON オブジェクトをデコードする方法を示しています。

コードは次のとおりです $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';


var_dump(json_decode($json));

var_dump(json_decode($json, true));

?>

実行中に、次の結果が生成されます:

オブジェクト(stdClass)#1 (5) {

["a"] => int(1)

["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

配列(5) {

["a"] => int(1)

["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}

取得したJSONデータは次のとおりだとします(curl、fsockopenなどを使用して取得できます)

コードは次のとおりです

{
"翻訳":["Hello world"],
"クエリ":"Hello world",
"エラーコード":0,
「ウェブ」:[
{
"値":["hello world"],
"key":"Hello world"
}、
{
"値":["Hello World"],
"key":"Hello world"
}
]
}

json_decode 関数を使用して配列を返し、取得します:

配列
(
[翻訳] => 配列
(
[0] => こんにちは、世界
)
[クエリ] => こんにちは世界
[エラーコード] => 0
[ウェブ] => 配列
(
[0] => 配列
(
[値] => 配列
(
[0] => こんにちは
)
[キー] => こんにちは世界
)
[1] => 配列
(
[値] => 配列
(
[0] => Hello World
)
[キー] => こんにちは世界
)
)
)

PHP言語で必要な値を取得するには、次のメソッドを使用できます。

コードは次のとおりです

データベース操作と組み合わせた例

/*-------------------------------------------------
$data = '
{
"翻訳":["Hello world"],
"クエリ":"Hello world",
"エラーコード":0,
「ウェブ」:[
{
"値":["hello world"],
"key":"Hello world"
}、
{
"値":["Hello World"],
"key":"Hello world"
}

}
';
--------------------------------------*/
$data = << {
"翻訳":["Hello world"],
"クエリ":"Hello world",
"エラーコード":0,
「ウェブ」:[
{
"値":["hello world"],
"key":"Hello world"
}、
{
"値":["Hello World"],
"key":"Hello world"
}

}
ストラ;
$jsondata=json_decode($data,true);
header("Content-Type: text/html; charset=UTF-8");
//print_r($jsondata);
echo "
".$jsondata['translation'][0]; //こんにちは
echo "
".$jsondata['query'] //こんにちは
echo "
".$jsondata['web'][0]['value'][0]; //こんにちは
echo "
".$jsondata['web'][1]['key']; //こんにちは
?>
コードは次のとおりです

include './include/conn.php' //データベースリンクファイル
; $sql_notice = mysql_query('SELECT * FROM gg_notice whereenable = "1" 制限 0,10');
$notice = mysql_fetch_array($sql_notice, MYSQL_ASSOC);
print_r ($notice);
?>


<頭>
最初の php ウェブサイトが提供するチュートリアル - データベースから読み取ったデータから json 形式を生成する


<スクリプト言語=javascript>




2 つのメソッドによって生成されるオブジェクト配列の構造の違いに注意してください


echo '

法一

';
//データベースから読み取ったデータに基づいて次の配列が生成されたと仮定します
$jarr=array('total'=>239,'row'=>array(
array('code'=>'001','name'=>'中国 www.111cn.net','addr'=>'アドレス 11','col4'=>'col4 データ'),
array('code'=>'002','name'=>'名前 2','addr'=>'アドレス 12','col4'=>'col4 データ'),
)
);
//方法 1:
$jobj=new stdclass();//json_decode 後のデータはオブジェクト配列の形式で保存されるため、PHP に組み込まれた空のクラスである stdclass をインスタンス化します。 //したがって、生成するときは、オブジェクトにデータを保存する必要もあります
foreach($jarr as $key=>$value){
$jobj->$key=$value;
}
print_r($jobj);//属性を渡した後、オブジェクトを印刷します
echo '$jobj->row[0]['code'] を使用して配列要素を出力します:'.$jobj->row[0]['code'].'
';
echo 'エンコードされたjson文字列:'.json_encode($jobj).'
';//エンコードされたjson文字列を出力します

echo '


';
//方法 2:
echo '

方法 2

';
echo 'エンコードされた json 文字列:';
echo $str=json_encode($jarr);// 配列を json にエンコードします
echo '
';
$arr=json_decode($str);// json を再度デコードします
print_r($arr);//デコードされた配列を出力します。データはオブジェクト配列に保存されます
echo '$arr->row[0]->code を使用して配列要素を出力します:'.$arr->row[0]->code;
?>


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/733189.html技術記事 PHP での JSON のエンコード (json_encode) PHP の json_encode() 関数は、PHP で JSON をエンコードするために使用されます。この関数は、成功した場合は JSON で表される値を返し、失敗した場合は FALSE を返します。 構文: string json_encode ( $va...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。