2014-01-06 45 views
1

我有一個JavaScript文件,它通過websocket與c#應用程序進行通信。 JS文件包含許多具有不同參數的函數。我使用JSON發送請求並接收響應,其格式如下。在JSON中發送多個「key」:「value」對的方法

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

響應格式相同。現在對於「鍵」:「值」對,我希望根據被調用的函數具有不同的值,如下所示。

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

現在我無法弄清楚如何發送和接收使用JSON.NET在C#中,這些參數,因爲參數與每個請求和響應不同。

發送這種JSON字符串的最佳方式是什麼?

Thanx提前。

+0

難道你不能只收到它們作爲字符串,字符串的字典嗎? – woutervs

回答

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); 
+0

請幫忙:https://stackoverflow.com/questions/45716358/how-to-iterate-data-to-insert-into-a-list-to-create-a-json-format-data – Si8

0

只需創建一個與您用來發送數據的JSON匹配的類型,並存儲參數,就可以使用鍵/值對集合。