![]() |
1
6
有一些.NET语言有duck类型,但是使用点标记的C是不可能的,因为C要求在编译时解析所有成员引用。如果您想要使用dot.notation,您仍然需要在某个地方定义一个具有所需属性的类,并使用您想要从JSON数据实例化该类的任何方法。预先定义类 做 具有强大的打字功能、包括IntelliSense在内的IDE支持以及不担心拼写错误等优点。您仍然可以使用匿名类型:
|
![]() |
2
5
你应该去看看 JSON.NET 项目: http://james.newtonking.com/pages/json-net.aspx 您基本上是在讨论从JSON中为对象添加水合物的能力,这是可以做到的。它不会做匿名类型,但可能会让你足够接近。 |
![]() |
3
4
我编写了一个相对较短的方法,该方法将解析JSON并返回一个名称/值字典,该字典可以类似于JavaScript中的实际对象进行访问。 下面是以下方法的示例用法:
下面是parsejsontDictionary方法的代码:
我知道这个方法可能有点粗糙,它可能会被优化很多,但它是第一个草稿,而且它只是工作。 另外,在抱怨不使用正则表达式之前,请记住并不是每个人都真正理解正则表达式,如果需要的话,用这种方式编写它会使其他人更难修复。另外,我目前对正则表达式不太了解,字符串解析也比较容易。 |
![]() |
4
1
您不能从方法**返回匿名类型,因此,“再水化”匿名类型的存在将仅限于其被再水化的方法。有点毫无意义。 **您可以将它作为一个对象返回(需要反射才能访问它的属性——Yeech),或者您可以“通过示例强制转换”,这也是毫无意义的,因为它需要额外的步骤,这意味着您已经知道对象的类型应该是什么样的,那么为什么不先创建一个对象并填充它呢? |
![]() |
5
0
这个应用程序是什么? 我不会沿着这条路走,有几个原因。
我的解决方案是创建一个类,它只封装一个字典,并将JSON字符串作为ctor参数。然后,只需为要处理的每种类型的JSON查询扩展该类。这将是一个强类型和更快的解决方案,但仍然保持可扩展性和易用性。缺点是每种类型的JSON请求都有更多的代码需要编写。 :) |
![]() |
Sweepy Dodo · JSON lite的格式化 7 月前 |
![]() |
user24242514 · 将嵌套查询字符串请求转换为字典 8 月前 |
![]() |
Shane Harley · 通过这些JSON元素进行映射 8 月前 |
![]() |
Shane Harley · 将HTML作为JSON字符串的一部分? 8 月前 |
![]() |
Matt Miles · 如何将嵌套的JSON转换为数据帧? 8 月前 |