gpt4 book ai didi

wcf - 如何通过 WCF 序列化 Dictionary

转载 作者:行者123 更新时间:2023-12-03 11:53:57 27 4
gpt4 key购买 nike

我有一个数据契约(Contract),其数据成员类型为 Dictionary<string, string> .

生成的 Web 服务引用将其公开为类型为 ArrayOfKeyValueOfstringstringKeyValueOfstringstring[] 的成员。 .

有没有人见过这个?

最佳答案

有办法做到这一点。操作契约(Contract)实际上是一个字符串。我转义了 json 字符串以将其保留为字符串。然后我在 web 方法中取消转义字符串并使用 NewtonSoftJson 将其解析为字典希望这是有用的...

我使用了 NewtonSoft Json 库...

c# 代码

using Newtonsoft.Json;
[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
public void testMethod(string jsonData)
{
string data = Uri.UnescapeDataString(jsonData);
Dictionary<string, string> x = jsonConvert.DeserializeObject<Dictionary<string, string>>(data);
foreach (KeyValuePair<string, string> kvp in x)
{

}
}

JS代码
var Data = {
width: 400,
height: 200,
someString: "somedata"
};

$.ajax({
type: "POST",
url: "Service1.svc/testMethod",
contentType: "application/json; charset=utf-8",
dataType: "json",
timeout: 1000000,
data: '{"jsonData": "' + escape(JSON.stringify(Data)) + '"}',
error: function(error) {
},
success: function (data) {
},
});

关于wcf - 如何通过 WCF 序列化 Dictionary<string, string>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1510185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com