首页 新闻 会员 周边

关于Dictionary对象序列化为json

0
悬赏园豆:10 [已解决问题] 解决于 2013-05-21 17:46

比如转换完之后变成这个样子:

[{"Key":"Post","Value":null},{"Key":"PhoneNumber","Value":null}]

能不能转换成[{“Post”:null},{“PhoneNumber”:null}]这样的,就是去掉Key和Value的这种形式?

或者不用字典,有没有其他的方法,能用这样的形式转化成json?

谢谢。

kafka No.14的主页 kafka No.14 | 初学一级 | 园豆:122
提问于:2013-04-23 12:11
< >
分享
最佳答案
0

using System.Web.Script.Serialization;

 

Dictionary<string, string> dic = new Dictionary<string, string>();

dic.Add("Post", "123");

string json = (new JavaScriptSerializer()).Serialize(dic);

// {"Post":"123"}

收获园豆:10
Yu | 专家六级 |园豆:12980 | 2013-04-23 13:59

dic中可能有多个键值对。。。

另外这样转出来的结果是{“Key”:"Post",“Value”:"123"}吧?

kafka No.14 | 园豆:122 (初学一级) | 2013-04-23 14:07

@Rakanishu5: 

 

dic.Add("Post1", "123");
dic.Add("Post2", "456");
dic.Add("Post3", "789");

 

{"Post1":"123","Post2":"456","Post3":"789"}

Yu | 园豆:12980 (专家六级) | 2013-04-23 14:16

@Yu: 好的,谢谢。问题解决了。用这个DataContractJsonSerializer序列化,和用JavaScriptSerializer序列化的具体区别是什么呢?

我用DataContractJsonSerializer序列化出来都是{“Key”:"Post",“Value”:"123"}这种形式的。

kafka No.14 | 园豆:122 (初学一级) | 2013-04-23 15:43
其他回答(3)
0

其实也是可以的,因为你看到这个是有规律的吧,然后用用正则表达式匹配出你的值来,当然要是Json!!

Kencery | 园豆:357 (菜鸟二级) | 2013-04-23 13:40

转换为{“Post”:null,"PhoneNumber":null,"Address":null,……}这种形式呢?

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2013-04-23 13:58
0

用个怪异点的方式

ToString().Replace(,)

替换掉

ERS | 园豆:728 (小虾三级) | 2013-04-23 13:57

各种替、剪、拼什么的也可以,我看看有没其他方法。。

支持(0) 反对(0) kafka No.14 | 园豆:122 (初学一级) | 2013-04-23 14:08
0

var serializer = new DataContractJsonSerializer(typeof(User), new DataContractJsonSerializerSettings()
{
UseSimpleDictionaryFormat = true//去掉Key和Value
});

iNIC | 园豆:202 (菜鸟二级) | 2016-01-04 12:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册