WddxSerializer オブジェクト

WddxSerializer オブジェクトには、JavaScript データ連想配列をシリアル化するための関数が含まれています。

関数

開発者が通常呼び出す関数は serialize だけです。

関数の構文
説明
object.serialize(rootobj)
渡された WddxRecordset インスタンスの WDDX パケットを作成します。
object.serializeVariable(name, obj)
連想配列のプロパティをシリアル化します。WddxSerializer では、オブジェクトが文字列、数値、配列、ブール値、または日付でなければ、そのオブジェクトは連想配列として扱われます。
object.serializeValue(obj)
渡されたインスタンス内にある、条件を満たすすべてのデータを再帰的にシリアル化します。
object.write(str)
シリアル化されたデータ ストリームにデータを追加します。

serialize

説明

渡された WddxRecordset インスタンスの WDDX パケットを作成します。

構文

object.serialize( rootobj )
 

パラメータ

パラメータ
説明
object
WddxSerializer オブジェクトのインスタンスの名前
rootobj
シリアル化する JavaScript データ連想配列

戻り値

関数の実行に成功すると、シリアル化した WDDX パケットを文字列として返します。エラーが発生すると NULL 値を返します。

使い方

WddxRecordset インスタンス内のデータをシリアル化するために、この関数を呼び出します。

次の例では、WddxRecordset インスタンスをシリアル化するために呼び出すことができる JavaScript 関数を示します。この関数によって、シリアル化されたデータがフォーム フィールドにコピーされ、表示されます。

function serializeData(data, formField)
{
  wddxSerializer = new WddxSerializer();
  wddxPacket = wddxSerializer.serialize(data);

  if (wddxPacket != null)
  {
    formField.value = wddxPacket;
  }
  else
  {
    alert("Couldn't serialize data");
  }
}

serializeVariable

説明

連想配列のプロパティをシリアル化します。WddxSerializer では、オブジェクトが文字列、数値、配列、ブール値、または日付でなければ、そのオブジェクトは連想配列として扱われます。

構文

object.serializeVariable( name, obj )
 

パラメータ

パラメータ
説明
object
WddxSerializer オブジェクトのインスタンスの名前
name
シリアル化するプロパティ
obj
シリアル化する値のインスタンスの名前

戻り値

シリアル化に成功すると TRUE ブール値を返します。エラーが発生すると FALSE を返します。

使い方

これは内部関数なので、呼び出す必要はあまりありません。

次の例は、WddxSerializer serializeValue 関数からの引用です。

...
// ある一般的なオブジェクト。このオブジェクトを連想配列として扱います。
  this.write("<struct>");
  for (prop in obj)
  {
    bSuccess = this.serializeVariable(prop, obj[prop]);
    if (! bSuccess)
    {
      break;
    }
  }
  this.write("</struct>");
...

serializeValue

説明

渡されたインスタンス内にある、条件を満たすすべてのデータを再帰的にシリアル化します。次のデータは条件を満たします。

この関数では、NULL 値は空の文字列としてシリアル化されます。

構文

object.serializeValue( obj )
 

パラメータ

パラメータ
説明
object
WddxSerializer オブジェクトのインスタンスの名前
obj
シリアル化する WddxRecordset オブジェクトのインスタンスの名前。

戻り値

obj のシリアル化に成功すると TRUE ブール値を返します。エラーが発生すると FALSE を返します。

使い方

これは内部関数なので、呼び出す必要はあまりありません。

この例は、シリアル化関数 WddxSerializer からの引用です。

...
this.wddxPacket = "";
this.write("<wddxPacket version='1.0'><header/><data>");
bSuccess = this.serializeValue(rootObj);
this.write("</data></wddxPacket>");
if (bSuccess)
{
  return this.wddxPacket;
}
else
{
  return null;
}
...

write

説明

シリアル化されたデータ ストリームにデータを追加します。

構文

object.write( str )
 

パラメータ

パラメータ
説明
object
WddxSerializer オブジェクトのインスタンスの名前
str
シリアル化されたデータ ストリームにコピーする文字列

戻り値

シリアル化されたデータ ストリームが更新され、文字列として返されます。

使い方

これは内部関数なので、呼び出す必要はあまりありません。

次の例は、WddxSerializer serializeValue 関数からの引用です。

...
else if (typeof(obj) == "number")
{
  // 数値
    this.write("<number>" + obj + "</number>");
}
else if (typeof(obj) == "boolean")
{
  //ブール値
  this.write("<boolean value='" + obj + "'/>");
}
...