草案
このページは完成していません。
nsIJSON
インタフェースは、JavaScript コードから JSON 文字列をエンコード、デコードする便利な方法を提供します。
注: このインタフェースは JavaScript コードからのみ利用されます。
Please add a summary to this article.
最終更新: Gecko 1.9 (Firefox 3)
継承元: nsISupports
実装: @mozilla.org/dom/json;1
インスタンスを作成するには、以下のように記述します。
var nativeJSON = Components.classes["@mozilla.org/dom/json;1"] .createInstance(Components.interfaces.nsIJSON);
メソッドの概要
註: IDL ファイルには、コメントアウトされた IDL が一部含まれています。これは、その部分が IDL で適切に記述できないことを表現しているのが原因です。ただし、この記事の目的に照らし合わせて、実在するかのように説明し、この問題を意図的に無視しています。
JSObject decode(in AString str, [optional] in JSObject whitelist); |
JSObject decodeFromStream(in nsIInputStream stream, in long contentLength, [optional] in JSObject optFilter); |
AString encode(in JSObject value, [optional] in JSObject whitelist); |
void encodeToStream(in nsIOutputStream stream, in string charset, in boolean writeBOM, in JSObject value, [optional] in JSObject optFilter); |
メソッド
decode()
JSON 文字列をデコードします。JavaScript オブジェクトが存在する場合はそのオブジェクトを返します。
JSObject decode( in AString str, [optional] in JSObject whitelist );
引数
- <tt>str</tt>
- デコードする JSON 文字列。
- <tt>whitelist</tt>
- ?
戻り値
JSON 文字列から再構築された、元の JavaScript オブジェクト。
decodeFromStream()
入力ストリームから読み出した JSON 文字列をデコードします。JavaScript オブジェクトが存在する場合はそのオブジェクトを返します。
JSObject decodeFromStream( in nsIInputStream stream, in long contentLength, [optional] in JSObject optFilter );
引数
- <tt>stream</tt>
-
JSON 文字列を読み出す
nsIInputStream
。 - <tt>contentLength</tt>
- 読み出す JSON 文字列の長さ。
- <tt>optFilter</tt>
- ?
戻り値
JSON 文字列から再構築された、元の JavaScript オブジェクトを表す JSObject
。
encode()
JavaScript オブジェクトを JSON 文字列へエンコードします。
AString encode( in JSObject value, [optional] in JSObject whitelist );
引数
- <tt>value</tt>
- エンコードする JavaScript オブジェクト。
- <tt>whitelist</tt>
- ?
戻り値
オブジェクトを表す JSON 文字列。
encodeToStream()
JavaScript オブジェクトを JSON 文字列へエンコードし、ストリームに書き込みます。
void encodeToStream( in nsIOutputStream stream, in string charset, in boolean writeBOM in JSObject value, [optional] in JSObject optFilter );
引数
- <tt>stream</tt>
-
JSON 文字列を書き込む
nsIOutputStream
。 - <tt>charset</tt>
- 使用する文字エンコーディング。「UTF-8」「UTF-16LE」「UTF-16BE」など。
- <tt>writeBOM</tt>
-
ストリームにバイトオーダーマーク (BOM) を書き込む場合は
true
、書き込まない場合はfalse
を指定します。 - <tt>value</tt>
- エンコードする JavaScript オブジェクト。
- <tt>optFilter</tt>
- ?
例
オブジェクトをエンコードする
var myObj = {"foo":"bar"}; var myJSONString = nativeJSON.encode(myObj);
返される文字列は「{"foo":"bar"}」になります。
JSON 文字列をデコードする
上記の文字列は、decode()
に渡して、元のオブジェクトに戻すことができます。
var myObj2 = nativeJSON.decode(myJSONString);