以json格式传递字典时缺少值

时间:2014-04-17 09:43:49

标签: c# json dictionary

我想将字典列表传递给我的网络服务。 现在我将我的数据序列化如下(以json格式):

{
   "properties":[
      {
         "hobby":[
            "singing",
            "swimming"
         ]
      },
      {
         "hobby":[
            "singing",
            "football",
            "basketball"
         ]
      }
   ],
   "userId":[
      "120",
      "121"
   ]
}

我的服务就像:

void uploadUserProperty(Dictionary<string, string[]>[] properties,string[] userId);

调试时,我发现userId是正确的,但属性没有密钥。 谁能解释一下这个呢?

2 个答案:

答案 0 :(得分:0)

您有重复的条目hobby,字典必须有唯一的密钥。你的JSON也代表数组数据,而不是字典。

答案 1 :(得分:0)

您将properties声明为字典对象数组:Dictionary<string, string[]>[] properties。数组(甚至列表)只是一个枚举(尽管不那么严格,因为你可以多次拥有相同的对象)。这意味着您不需要唯一标识每个项目,因此不需要ID。