PHP配列を保存するための好ましい方法(json_encodeまたはserialize)?
次の条件が満たされない限り、JSONはPHPシリアル化と比較して高速です-
- 深くネストされた配列が格納されます。
- 保存されるオブジェクトは、適切なクラスにシリアル化されていない必要があります。
- 相互作用は、json_decodeをサポートしていない古いPHPバージョン間で行われます。
以下のコード行は、json_encode-
を使用してPHP配列を格納するために使用できます。json_encode($array, JSON_UNESCAPED_UNICODE)
JSONはオブジェクトの元のクラスをどこにも保存しませんが、stdClassに属するクラスインスタンスとして復元できます。
- JSONは、シリアル化と比較してはるかに移植性があります。
- __ sleep()および__wakeup()の機能は、JSONを使用して利用することはできません。
- デフォルトでは、パブリックプロパティはJSONでシリアル化されます。 (PHPのバージョンが5.4以上の場合、動作を変更するためにJsonSerializableを実装できます。)
例
<?php // Array is declared $value = array( "name"=>"name_me", "email"=>"myemail.com" ); // json_encode() function is used $json = json_encode($value); // Displaying output echo($json); ?>を表示します
出力
これにより、次の出力が生成されます-
{"name":"name_me","email":"myemail.com"}
-
JavaScript JSON parse()メソッド
JSON parse()メソッドは、JSON文字列を解析し、そこからJavaScriptオブジェクトを作成するために使用されます。 以下は、JSON parse()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /
-
JavaScriptJSON配列
JSONの配列は、JavaScriptの配列に似ています。 JavaScriptJSON配列は次のようになります- let obj = { name:'Rohan', sports : ['cricket','Football','volleyball','hockey'] } 以下はJavaScriptのJSON配列のコードです- 例 <!DOCTYPE html> <html lang="en"> <head