Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据JSONs层次结构映射的c#类_C#_Json - Fatal编程技术网

根据JSONs层次结构映射的c#类

根据JSONs层次结构映射的c#类,c#,json,C#,Json,注意:这与C#JSON的序列化或反序列化无关 这更多的是关于一个C#类,它将1:1映射到JSON的结构本身。JSON可以是字典(散列)或数组,还可以嵌套(例如:JSON对象作为“值”或JSON对象内的数组元素)。我如何定义一个行为相同的C#类,使其能够将1:1映射到其JSON“等价物”上 顺便说一句,我确实看到了.NET4.5对JSON的一流支持(最终!)。另外,它似乎也可以进行序列化。然而,这是一个密封的类,所以我看不到它的实现 使用源代码Luke 编辑:似乎.NET4.5是开源的。我在上找到

注意:这与C#JSON的序列化或反序列化无关

这更多的是关于一个C#类,它将1:1映射到JSON的结构本身。JSON可以是字典(散列)或数组,还可以嵌套(例如:JSON对象作为“值”或JSON对象内的数组元素)。我如何定义一个行为相同的C#类,使其能够将1:1映射到其JSON“等价物”上

顺便说一句,我确实看到了.NET4.5对JSON的一流支持(最终!)。另外,它似乎也可以进行序列化。然而,这是一个密封的类,所以我看不到它的实现

使用源代码Luke


编辑:似乎.NET4.5是开源的。我在上找到了一个链接,但似乎无法下载源代码。使用损坏的下载尝试了3次。任何其他来源位置?最好从.NET 4.5=>.NET 4.0中移植JSON类,只要类结构中没有任何循环引用,JSON映射就不会有任何问题。但有一些工具可以帮助减少任何歧义。这里有一篇相关的博文可能会有所帮助:

将为您提供一个针对JSONDictionary的C#类,您可以在其中存储您想要的任何内容。@Habib:这是一个有用的链接,但问题是关于JSON的泛型表示(请参阅)。该链接为JSON的特定模板创建c#类。@awright18:该类如何映射到[0]?@awright18:好的,有意义。尽管在这种形式下,访问它时需要大量的外部“粘合代码”。要以1:1的形式完全可用,最后一个类(继承自
字典
)需要额外的内部逻辑来清晰地映射到JSON的外部原语(对象、数组)和内部原语(字符串、数字、布尔值、空值)。www.json.net的图表在类设计方面非常清晰。