mozilla
Your Search Results

    nsIJSON

    草案
    このページは完成していません。

    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);
    

    関連記事

    ドキュメントのタグと貢献者

    Contributors to this page: teoli, Kohei
    最終更新者: teoli,