【问题标题】:Convert from JSON object to expando object in c#在c#中从JSON对象转换为expando对象
【发布时间】:2015-03-18 15:01:50
【问题描述】:

我有一个类似于

的 JSON 对象

var jsonObject = {"att1" : "val1","att2" : "val2","att3" : "val3","att4" : "val4"}

我需要把它转换成expandoObject

我尝试了类似的东西

var expConverter = new ExpandoObjectConverter();
dynamic obj = JsonConvert.DeserializeObject<List<ExpandoObject>>(jsonObject, expConverter);

但它没有给出结果。

有人可以帮我得到结果吗?

提前致谢。

【问题讨论】:

  • “但它没有给出结果”并没有告诉我们发生了什么。请展示一个简短但完整的程序来演示问题,包括预期和实际结果。
  • 你不应该使用dynamic。只需将整个内容输入List&lt;ExpandoObject&gt;
  • 您正在尝试将非数组 JSON 转换为 List。如果您查看代码在运行时产生的错误,您会看到错误告诉您您正在尝试这样做
  • 另外,JSON 确实不是一个数组,所以它不会在 c# 中转换为一个 :)
  • dynamic obj = JsonConvert.DeserializeObject&lt;ExpandoObject&gt;(jsonObject, expConverter); 工作得很好......

标签: c# json converter expandoobject


【解决方案1】:
  dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(jsonObject, expConverter);

工作得很好......

【讨论】:

  • 提示: 如果您在 LinqPad 中探索它, 您需要在转储之前将其转换为对象,例如:@987654322 @ 这将显示整个对象。
猜你喜欢
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 2011-11-27
  • 1970-01-01
相关资源
最近更新 更多