0

私の WCF サービスの一部として、JavaScriptSerializer を使用して SQL クエリの結果を Json として返します。出力として JSON のスキーマを提供できるようにしたいと考えており、これを実現する方法についてのフィードバックを探しています。

System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row = null;

foreach (DataRow dr in dt.Rows)
{
    row = new Dictionary<string, object>();
    foreach (DataColumn col in dt.Columns)
    {
        row.Add(col.ColumnName.Trim(), dr[col]);
    }
    rows.Add(row);
}
return serializer.Serialize(rows);
4

1 に答える 1

0

私の知る限り、それを行う組み込みライブラリはありません。ただし、 JSON を構造に解析し、JSON の「スキーマ」に従って一連のクラスに変換するいくつかのサンプル (私が書いたものを含む) があります。アルゴリズムの主な問題は、配列内のオブジェクトを「マージ」することです。

[{"a":1,"b":2},{"a":3,"c":4}]

int メンバーabおよびを含むクラスが生成されcます。

サンプルのファイル JsonRoot.cs には、JSON を "スキーマ" 構造に解析するためのほとんどのコードが含まれています。そこから、それを任意の形式にエクスポートできます (サンプル自体が C# または VB クラスとしてエクスポートします)。

于 2013-09-26T22:53:22.583 に答える