2

JSON.NET でのシリアル化と WCF REST Web サービスの操作について質問があります。

.NET コンパクト フレームワークを実行し、機能サポートが制限されている私のデバイスは、シリアライゼーション/デシリアライゼーションに JSON.NET を使用します。文字列や単純なクラスなどのパラメーターを使用した単純な WCF REST Web サービスへの HttpWebRequest を介した通信は、魅力的に機能します。

ここで、キーと値のペアのコレクションを送信する必要があります

List<KeyValuePair<int, object>>

値として Guid を含む 1 つの要素でコレクションをシリアル化した結果は、次のようになります。

[
    {
        "Key": 52120,
        "Value": "180047f8-2ee5-41bb-8da1-68bd94178d79"
    },
]

それは正しいjson形式だと思いますが、WCFサービスを見ると、次のようなデータを送信する必要があります。

[{
    "key":2147483647,
    "value":{
        "KeyValuePairOfintanyType":{
            "key":2147483647,
            "value":{
                "KeyValuePairOfintanyType":null
            }
        }
    }
}]

JSON.NET でシリアル化されたデータを送信すると、接続が中止されます。WCF サービスの要件に合わせて汎用リストをシリアル化する方法を知っている人はいますか? これらの KeyValuePairOf... 形式を挿入するように JSON.NET に指示する方法はありますか?

4

1 に答える 1

1

DataContractJsonSerializerwcfを使用して残りの部分に使用すると、完全に互換性があります

于 2013-02-20T13:14:53.167 に答える