我有以下Dictionary<>
對象:序列化詞典<>對象與DataContractJsonSerializer
Dictionary<String, object> parameters = new Dictionary<string, object>();
parameters.Add("username", "mike");
parameters.Add("password", "secret");
parameters.Add("persist", false);
當我把它序列化:
using (MemoryStream stream = new MemoryStream())
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(parameters.GetType());
serializer.WriteObject(stream, parameters);
byte[] bytes = stream.ToArray();
string json = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
return json;
}
我得到如下:
"[{\"Key\":\"username\",\"Value\":\"mike\"},{\"Key\":\"password\",\"Value\":\"secret\"},{\"Key\":\"persist\",\"Value\":false}]"
什麼我想得到的是一個原始的鍵/值對映射,如下所示:
"{\"username\":\"mike\", \"password\":\"secret\", \"persist\": false}"
我試着將UseSimpleDictionaryFormat
設置爲true,但是這個屬性沒有任何作用,也沒有將它的用途記錄在我能找到的任何地方。
我不能使用自定義類,因爲參數鍵/值對在編譯時是未知的。
我也不能使用第三方庫,比如JSon.NET。我正在使用Silverlight框架和Windows Phone 8運行時。
邁克'字符串JSON = JsonConvert.SerializeObject(參數);'你想要做什麼,並根據此[頁碼](http://json.codeplex.com /)它支持Silverlight,Windows Phone和winRT。 –
正如我所說,我不能使用第三方庫。 –