3

JavaScriptSerializer を使用して、不明な動的 JSON を解析するにはどうすればよいですか。特に、私は Google Calendar API の独自のラッパーを作成しています。イベントには、プライベート オブジェクトと、未知のプロパティ セットを含む共有オブジェクトの両方を持つ、extendedProperties というオブジェクトがあります。

"extendedProperties": {
    "private": {
        "UnknownKey1": "UnknownValue1",
        "UnknownKey2": "UnknownValue2",
        "UnknownKey3": "UnknownValue3"
    },
    "shared": {
        "UnknownKey1": "UnknownValue1",
        "UnknownKey2": "UnknownValue2",
        "UnknownKey3": "UnknownValue3"
    }
}

JavaScriptSerializer 用に次のようなクラスを作成したいと思います。

public class ExtendedProperties
{
    public ??? @private { get; set; }
    public ??? shared { get; set; }
}

もちろん問題はあります。

(1)シリアライザーはアンパサンドを理解するので、プロパティ「プライベート」を解析しますか?

(2) JavaScriptSerializer が読み書きできるプロパティの戻り値の型は何ですか? ある種の辞書?

前もって感謝します!

4

2 に答える 2

3
var serializer = new JavaScriptSerializer();
var jsonObject = serializer.Deserialize<IDictionary<string, object>>(jsonStr);

このコードを使用して、不明な json オブジェクトを逆シリアル化しました。

于 2012-01-31T05:31:13.720 に答える
0

パーサーは@シンボルを理解します。dynamic.net 4 を使用している場合は、タイプとして使用できDictionary<string,string>ます。辞書を同じ参照オブジェクトにシリアル化および逆シリアル化する際に常に問題がありましたが、試すことができます。List<KeyValuePair<string, string>>通常、トリックを行います。

于 2012-01-31T05:14:40.943 に答える