2011-06-27 16 views
2

我真的與序列化JSON的一些數據掙扎,最終結果需要看起來像這樣:使用JSON.NET序列化JSON以下數據

{ 
    "jsonrpc":"2.0", 
    "method":"user.authenticate", 
    "params":{ 
     "user":"<login>", 
     "password":"<password>" 
    }, 
    "id":2 
} 

我試圖使用JSON的。 NET,我通過一種方法傳遞數據,但我無法繞過它。任何想法如何我可以開始?

感謝

+1

「通過一個方法」?你想分享你正在使用的方法?你遇到了什麼問題?你試過了什麼,以及你失敗了嗎?投票結束。 – abelenky

+0

感謝您的貢獻... – Nathan

回答

3

有可能是這樣做的更好的方法,但是這似乎工作:

using Newtonsoft.Json.Linq; 
using System; 

class Test 
{ 
    static void Main() 
    { 
     string json = ConvertToJson("jon", "secret"); 
     Console.WriteLine(json); 
    } 

    static string ConvertToJson(string login, string password) 
    { 
     JObject container = new JObject(); 
     container["jsonrpc"] = "2.0"; 
     container["method"] = "user.authenticate"; 
     container["id"] = 2; 

     JObject p = new JObject(); 
     p["user"] = login; 
     p["password"] = password; 
     container["params"] = p; 
     return container.ToString(); 
    } 

} 
+0

感謝您的評論,代碼看起來不錯,當然可以解釋它。我正在尋找在方法內傳遞數組而不是登錄名和密碼,因爲可能有時候方法變量和參數包含其他數據。即它可能不是用戶名/密碼 – Nathan