[英]JSON : what is the java Map equivalent in c#
我面臨的問題是,使用JSON將對象傳遞給C#,C#將字符串傳遞回Java,然后java將其反序列化為Map BTW,.net版本為3.5
這是問題所在
java map JSON字符串采用以下格式:
{"key1":"value1","key2":"value2"}
但在C#中,字典被封為
[{"Key":"key1","Value":"value1"},{"Key":"key2","Value":"value2"}]
我只是想找到一種方法來做到這一點:
謝謝
嘗試使用JavaScriptSerializer
而不是DataContractJsonSerializer
:
var dict = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
var jss = new JavaScriptSerializer();
string json = jss.Serialize(dict); // {"key1":"value1","key2":"value2"}
我為Dictionary編寫了一個擴展方法,將其序列化為JSON:
public static string SerializeToJson(this IDictionary<string, object> dict)
{
var sb = new StringBuilder();
sb.Append("{");
foreach (string key in dict.Keys)
{
sb.AppendFormat("\"{0}\": \"{1}\"", key, dict[key]);
sb.Append(key != dict.Keys.Last() ? ", " : String.Empty);
}
sb.Append("}");
return sb.ToString();
}
所以你可以寫:
var jsonString = myDict.SerializeToJson();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.