C# 以json格式传递字典时缺少值
我想将字典列表传递给我的web服务。 现在,我将数据序列化为json格式,如下所示:C# 以json格式传递字典时缺少值,c#,json,dictionary,C#,Json,Dictionary,我想将字典列表传递给我的web服务。 现在,我将数据序列化为json格式,如下所示: { "properties":[ { "hobby":[ "singing", "swimming" ] }, { "hobby":[ "singing", "football", "basketb
{
"properties":[
{
"hobby":[
"singing",
"swimming"
]
},
{
"hobby":[
"singing",
"football",
"basketball"
]
}
],
"userId":[
"120",
"121"
]
}
我的服务是:
void uploadUserProperty(Dictionary<string, string[]>[] properties,string[] userId);
调试时,我发现userId是正确的,但是属性没有键。
有人能解释一下吗?你有重复的条目和键爱好,字典必须有唯一的键。您的JSON也表示数组数据,而不是字典。您将属性声明为字典对象数组:dictionary[]properties。数组甚至一个列表只是一个枚举,虽然不那么严格,因为可以多次使用同一个对象。这意味着您不需要唯一标识每个项目,因此不需要ID。这里的问题是什么?您的服务采用什么格式?参数的序列化是正确的。你所拥有的是一系列字典。你能举个例子说明数据应该是什么样子吗?是的,我想传递一个字典列表,在传递之前它是正确的,传递之后,字典中的值丢失了。你的字典有一个关键爱好和一个值。本例中的值是字符串[]的列表,该字符串被正确解析为JSON数组,如[singing、football、basketball]。这就是你的字典的价值,在我看来,它没有丢失。我不知道你的意思,我的意思是,最终结果准确地描述了你的输入。JSON没有问题。是的,我也认为JSON是正确的。但是我不知道为什么我可以在我的Web服务中获得值…但是用户ID是正确的,只有字典有一些问题…我真的不明白字典的问题是什么。如果您能更好地解释它,或者提供一个关于数据外观的示例,也许我们可以为您提供更多服务。在上述情况下,我将dictionary数组传递给我的web服务。当然,我想处理字典。但是当我调试时,我发现字典中没有键,这与我传递的数据不同。我传递的数据包含一些关键的爱好和价值,比如游泳,但我无法在我的web服务中获得这些