如何在C#中将{“key”:“user_id”},{“value”:“123”}转换为{“user_id”:“123”}

时间:2013-02-01 22:52:50

标签: c# dictionary

我正在使用Dictionary来构建键/值,需要为HTTP Post进行字符串化。他们的问题是当我使用Cordova的JsonHelper对数据进行字符串化时,它会显示“key:”和“value:”,然后显示实际的键和值。我想删除这些。

我正在为Windows Phone 8开发。

此:

Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("user_id", user_id);
data.Add("order_id", order_id);
data.Add("package_id", package_id);
data.Add("order_status", "0"); //0 is success
data.Add("platform", "windows");
String postData = WPCordovaClassLib.Cordova.JSON.JsonHelper.Serialize(data); 

输出:

[{"Key":"user_id","Value":"33"},{"Key":"order_id","Value":"07dbda1d-f877-4be8-b2d9-dba1f4622054"},{"Key":"package_id","Value":"package4"},{"Key":"order_status","Value":"0"},{"Key":"platform","Value":"windows"}]

1 个答案:

答案 0 :(得分:1)

您可以使用内置的Json序列化程序(JavaScriptSerializer

string postData = new JavaScriptSerializer().Serialize(data);

Json.Net(支持支持.NET 2,.NET 3.5,.NET 4,Silverlight,Windows Phone和Windows 8

string postData = JsonConvert.SerializeObject(data);

输出将是:

{
  "user_id": "1",
  "order_id": "100",
  "package_id": "200",
  "order_status": "0",
  "platform": "windows"
}