一种在JSON中发送多个“key”:“value”对的方法

时间:2014-01-06 15:15:02

标签: c# javascript json websocket json.net

我有一个javascript文件,它通过websocket与c#应用程序通信。 JS文件包含许多具有不同参数的功能。我使用JSON发送请求并收到响应,其格式如下所示。

{
    "request": "connect",
    "parameters":
     { 
     "key": "value",
     },
    "pid": "23avavAASD3fafdsAFE",
}

响应格式相同。现在对于“键”:“值”对,我希望根据被调用的函数具有不同的值,如下所示。

{
        "request": "connect",
        "parameters":
         { 
         "GIT_COMMIT": "23avavAASD3fafdsAFE",
         ".NET_VERSION":"4.0",
         },
        "pid": "23avavAASD3fafdsAFE",
}

现在我无法弄清楚如何使用JSON.NET在C#中发送和接收这些参数,因为每个请求和响应的参数都不同。

发送这种JSON字符串的最佳方法是什么?

提前完成。

2 个答案:

答案 0 :(得分:2)

您可以将这些键/值对建模为dictionary,并使用Json.NET对其进行序列化。

public class Request
{
    public string request { get; set; }
    public IDictionary<string,string> parameters { get; set; }
    public string pid { get; set; }
}


var request = JsonConvert.DeserializeObject<Request>(data);

答案 1 :(得分:0)

只需创建一个与用于发送数据的JSON匹配的类型,并且为了存储参数,您将使用键/值对集合。

相关问题