PHPではjson_encode
、オブジェクトをjson文字列としてエンコードするために使用できます。
$string = json_encode($some_object);
ただし、PHPには、オブジェクトとは見なされない標準のデータ型(int、stringsなど)が多数あります。に文字列を渡すと、文字列json_encode
の定義に使用できるjavascriptステートメントを含む文字列が返されます。
あまり厄介な言い回しでは、これは
echo json_encode("Hello
world, please don't " . '"' . "misuse quote's for emphasis " . "or possessive apostrophes' ");
これを出力します(javascript対応の文字列)
"Hello \n\tworld, please don't \"misuse quote'sor possessive apostrophes' "
この動作はJSON仕様の一部ですか?つまり、JSONは、実装がネイティブの非オブジェクトデータ型の変換を処理する方法を定義または推奨していますか?それとも、回心について意見がありますか?私がRFCを読んだことで、これはあいまいなままになりましたが、私はこれらのことを解釈するのが苦手です。
この動作が関数の将来のバージョンから消える可能性に興味があるので、私は尋ねます。つまり、仕様のどこかで成文化されている場合、開発中に誰かが追加しようと考えていたものよりも、消える可能性は低くなります。