【发布时间】:2013-02-05 11:56:01
【问题描述】:
我有一个关于 JSON.NET 序列化和使用 WCF REST Web 服务的问题。
我的设备运行 .NET 紧凑型框架并且功能支持有限,它使用 JSON.NET 进行序列化/反序列化。通过 HttpWebRequest 与使用字符串或简单类等参数的简单 WCF REST Web 服务进行通信就像一个魅力。
现在我必须传输一组键值对
List<KeyValuePair<int, object>>
用一个包含 Guid 作为值的元素序列化集合的结果如下所示:
[
{
"Key": 52120,
"Value": "180047f8-2ee5-41bb-8da1-68bd94178d79"
},
]
我认为这是正确的 json 格式,但如果我查看我的 WCF 服务,它需要我发送如下数据:
[{
"key":2147483647,
"value":{
"KeyValuePairOfintanyType":{
"key":2147483647,
"value":{
"KeyValuePairOfintanyType":null
}
}
}
}]
发送由 JSON.NET 序列化的数据会导致连接中止。 有谁知道如何序列化通用列表以满足 WCF 服务的要求?有没有办法告诉 JSON.NET 插入那些 KeyValuePairOf... 格式?
【问题讨论】:
-
只是想知道-您是否必须将您的收藏声明为
List<KeyValuePair<int, object>>?此外,GUID 值在 WCF 期望的 JSON 中显示在哪里? -
@DavidHoerster Guid 将作为 KeyValuePair 的“对象”传递,它的值是“”KeyValuePairOfintanyType”:null”。使用 List
没有特殊原因,但我需要一组键值对。我想在不使用泛型的情况下创建一个结构,但我想保持界面灵活。
标签: c# asp.net serialization compact-framework json.net