0

AJAX を使用して JSON データを取得するために現在の Javascript ライブラリと相互運用する必要がある Silverlight プロジェクトがあり、JSON データは次のようになります。

{"javaClass":"java.util.ArrayList","list":[{"JOB_NUM":"21", "DEADLINE":{"time":1359583200000,"javaClass":"java.sql.Timestamp"}, "javaClass":"JobEntity"}]}

Silverlight で、JSON データを C# クラスに変換する「ブリッジ」クラスを作成しました。そして、主な方法は次のとおりです。

public static T Invoke<T>(string method)
    {
        ScriptObject result = HtmlPage.Window.Eval("$.parseJSON("+method+")") as ScriptObject;
        if (result != null)
        {
            ScriptObject data = result.GetProperty("list") as ScriptObject;
            if (data != null)
                return data.ConvertTo<T>();
        }

        return default(T);
    }

また、エンティティ POCO クラス (簡略化) をここに添付します。

public class JobEntity
{
    public string JOB_NUM {get; set;}
    public string DEADLINE {get; set;}
}

問題は、「DEADLINE」という名前のタイムスタンプを C# で日付形式の文字列に変換する方法です。DEADLINE のプロパティの setter アクセサーに関連するものかもしれません。

ConvertTo<string>()ところで、評価された値が Javascript の文字列そのものである場合、ScriptObject のメソッドを使用できないのはおかしいと思います。つまり、次の方法でのみ文字列を解析できます。

scriptObject.ToString();  //ConvertTo<string>() will not work.

ここでのポイントは何ですか?

どんな助けでも大歓迎です。

4

1 に答える 1