有一个字符串
string str="{\"fcode\":\"10\",\"fno\":\"009999\",\"fmemo\":\"009999-4\"}";
想把它转换成Dictionary<string,object>格式变成
Dictionary<string,object>
            fcode  10
            fno    009999
            fmemo  009999-4
有没有比较好的方法?

解决方案 »

  1.   

     Dictionary<string,object> dd=str.Trim(new char[]{'{','}'}).Split(',').ToDictionary(s=>s.Split(':')[0],s=>(object)s.Split(':')[1]);
      

  2.   

    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();  =>报错:给定关键字不在字典中
      

  3.   

    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"]);
      

  4.   


    请问q107770540 如果str 里面的 键 或者值 如果包含了 "{" 或者 "}"  那这样还有用吗?