【发布时间】:2018-08-21 19:05:46
【问题描述】:
基本上我想做的只是将一个级别的 JSON(最初是顶部)反序列化为 ExpandoObject,但将该级别的所有属性(发现是数组)转换为 JSON 字符串(而不是将它们递归反序列化为列表自己的)。
所以是这样的:
[
{
"id": 1,
"name": "one",
"contacts": [
{ "name": "john", "email":"john@somewhere.com" },
{ "name": "jane", "email":"jane@somewhere.com" }
]
},
{
"id": 2,
"name": "two",
"contacts": [
{ "name": "jess", "email":"jess@somewhere.com" },
{ "name": "jenn", "email":"jenn@somewhere.com" }
]
}
]
将生成一个 ExpandoObject,它是一个 List
"[{\"name\":\"john\","email\":\"john@somewhere.com\"},{\"name\":\"jane\",\"email\":\"jane@somewhere.com\"}]"
【问题讨论】:
-
您能否提供一个 JSON 示例,您希望发生什么以及实际发生了什么?听起来您不太可能特别轻松地做到这一点,部分原因是这听起来像是一个不寻常的用例。
-
我在原帖中添加了一个例子。我意识到这是一个高度专业化的案例,但我在报告引擎中处理了一些非常粗略的约束。我正在为其编写自定义数据提供程序。
-
我可能会将其解析为
JObject,并以此构建您的ExpandoObject。您可能会丢失数组表示中的空格方面的一些细节,但这可能没关系。我会写一个例子... -
我注意到你的 JSON 实际上是一个数组作为外部部分,所以我假设你想要一个
List<ExpandoObject>...