一JSON格式的字符串,转换成dictionary类型

siaosa 2012-02-28 04:30:13
有一个字符串
string str="{\"fcode\":\"10\",\"fno\":\"009999\",\"fmemo\":\"009999-4\"}";
想把它转换成Dictionary<string,object>格式变成
Dictionary<string,object>
fcode 10
fno 009999
fmemo 009999-4
有没有比较好的方法?
...全文
590 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenjun0922 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 q107770540 的回复:]
C# code
string str = "{\"fcode\":\"10\",\"fno\":\"009999\",\"fmemo\":\"009999-4\"}";
Dictionary<string, object> dd = str.Trim(new char[] { '{', '}' }).Split(',')
.ToDictionary……
[/Quote]

请问q107770540 如果str 里面的 键 或者值 如果包含了 "{" 或者 "}" 那这样还有用吗?
q107770540 2012-02-28
  • 打赏
  • 举报
回复
string str = "{\"fcode\":\"10\",\"fno\":\"009999\",\"fmemo\":\"009999-4\"}";
Dictionary<string, object> dd = str.Trim(new char[] { '{', '}' }).Split(',')
.ToDictionary(s => s.Split(':')[0].Trim('"'), s => (object)s.Split(':')[1].Trim('"'));
Console.WriteLine(dd["fcode"]);
q107770540 2012-02-28
  • 打赏
  • 举报
回复
dd["\"fcode\""]
siaosa 2012-02-28
  • 打赏
  • 举报
回复
string str = "{\"fcode\":\"10\",\"fno\":\"009999\",\"fmemo\":\"009999-4\"}";
Dictionary<string, object> dd = str.Trim(new char[] { '{', '}' }).Split(',').ToDictionary(s => s.Split(':')[0], s => (object)s.Split(':')[1]);
var tmp = dd["fcode"].ToString(); =>报错:给定关键字不在字典中
q107770540 2012-02-28
  • 打赏
  • 举报
回复
 Dictionary<string,object> dd=str.Trim(new char[]{'{','}'}).Split(',').ToDictionary(s=>s.Split(':')[0],s=>(object)s.Split(':')[1]);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧