JSON:c#中的java Map等价物是什么
我面临的问题是使用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"}]
我只是想找到一种方法来做到这一点:
- 对于java Map JSON格式,C#可以对其进行解除分类
- 对于C#,找到一种方法将其seledize为java可理解的格式
谢谢
尝试使用JavaScriptSerializer
而不是DataContractJsonSerializer
:
var dict = new Dictionary { { "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 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(); }
所以你可以写:
上述就是C#学习教程:JSON:c#中的java Map等价物是什么分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
var jsonString = myDict.SerializeToJson();
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954502.html