我的查询是我想用C#将html转换为json。 有没有办法做到这一点。 我进行了大量搜索,发现了与使用Javascript Serializer和Newtonsoft将html字符串序列化为json相关的文章。 但是这些序列化器除了在html字符串周围添加一个开括号和闭括号外,什么也没做。 我不要 我想将整个html转换为json,以便可以使用C#对象从html中获取相关信息,而不是使用常规的扩展名解析html。 HTML可以是互联网上任何可用网站上的任何有效html。 我正在使用C#使用http请求和响应对象获取html。
请不要建议使用html敏捷包,因为这也会做与序列化相同的操作。
如果有人对使用C#做到这一点有任何想法,请分享您的想法。
不清楚您期望作为答案还是期望答案。 对于您遇到的任何特定问题,请提供一个最小,完整和可验证的示例。 另请阅读如何问一个好问题。 确保您的问题是针对性的,不要过于广泛。 最后,您必须自己尝试,论坛成员不会为您编写代码。
您能否阐明为什么使用专门设计用于查询HTML的工具查询HTML是一个坏主意? 而且您认为唯一的其他选择是使用正则表达式或将其转换为JSON? 对我来说似乎是XY问题。
我将告诉您您的问题为什么会引起混乱。
考虑html的示例:
example of paragraph
json的示例:
{"employees":[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]}
json是在其上生成html或初始基础的东西。 因此,当您说要将html转换为json时,这确实令人困惑,因为无法根据要进行转换的规则来 或者在创建json时应忽略/添加来自html的哪些标签。
1.以客观的方式将每个元素都视为一个对象。 因此,您生成的内容类似于:```{" elements":[{" type":" html"," content":null," children":[{"" type":" body"," content":null," children":[{" type":" p"," content":"段落类型示例"," children":[...}```2.如果未说明,则应将其省略 应该包括在内。
这里有一个解决方案的javascript示例:将HTML映射到JSON
DOM解析器非常相似,因此您可以尝试在C#中实现它。 (我也会对这种实现感兴趣:D)