【问题标题】:JsonConvert.DeserializeObject(objects)JsonConvert.DeserializeObject(对象)
【发布时间】:2020-08-26 10:57:30
【问题描述】:

DeserializeObject for { “15天”:“675”, “180 天”:“8100”, "30 天": "1350", “60 天”:“2700”, “90 天”:“4050” }

【问题讨论】:

  • 我无法反序列化这个,因为类对象属性不能以数字和它们之间的空格开头。如果能解决就太好了。
  • 如果我们可以将这些值排列成一个以逗号 ' 分隔的数组,就像 a[id1]="15 Days_675",那就太好了。
  • 我试过了,但没有运气。这需要时间来研究。但问得好。
  • 我们可以在数组中使用它吗?
  • 是的,我们可以转换成字典

标签: c#-4.0 jsonconverter


【解决方案1】:

我们可以把这个 json 转换成字典。并以这种方式处理这种情况。因为我们可以直接反序列化为类对象。

var test = "{ \"15 Days\": \"675\", \"180 Days\": \"8100\", 
\"30 Days\": \"1350\", \"60 Days\": \"2700\", \"90 Days\": 
\"4050\" }";
        string [] json = test.Replace("{", 
string.Empty).Replace("}", string.Empty).Split(',');
        Dictionary<string, string> jsonDic = new Dictionary<string, string>();
        for (int i = 0; i < json.Length; i++)
        {
            string[] jsonItem = json[i].Split(':');
            jsonDic.Add(jsonItem[1], jsonItem[0]);
        }

这个字典 jsonDic 如下所示。

希望这对你有帮助。

【讨论】:

  • 谢谢你,ManojKS Ji,它对我有用,因为我已经实现了。
  • 太好了,请不要介意将此问题标记为答案。这将激励更多地处理查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-19
  • 1970-01-01
  • 2017-01-11
  • 2018-08-01
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
相关资源
最近更新 更多