【问题标题】:How to convert html to json with C#?如何使用 C# 将 html 转换为 json?
【发布时间】:2016-06-16 20:19:05
【问题描述】:

我的查询是我想用 C# 将 html 转换为 json。有没有办法做到这一点。我搜索了很多,找到了有关使用 Javascript Serializer 和 Newtonsoft 将 html 字符串序列化为 json 的文章。但是这些序列化程序除了在 html 字符串周围添加一个开始和结束花括号之外什么都不做。我不想要那个。我想将整个 html 转换为 json,以便我可以使用 C# 对象从 html 中获取相关信息,而不是使用常规表达式解析 html。 Html 可以是 Internet 上任何可用网站的任何有效 html。我正在使用 C# 使用 http 请求和响应对象获取 html。

请不要建议使用 html 敏捷包,因为这也会做与序列化相同的事情。

如果有人知道如何用 C# 做到这一点,那么请分享你的想法。

【问题讨论】:

  • 不清楚您期望得到什么答案或期望得到答案。对于您遇到的任何具体问题,请提供Minimal, Complete, and Verifiable example。另请阅读How do I ask a Good Question。确保您的问题是具体的,而不是过于宽泛。最后你要自己尝试一下,论坛的人不会给你写代码的。
  • 您能否解释一下为什么使用专门设计用于查询 HTML 的工具查询 HTML 是个坏主意?并且您认为唯一的其他选择是使用正则表达式或将其转换为 JSON?对我来说似乎是一个 XY 问题。

标签: html json c#-4.0


【解决方案1】:

我会告诉你为什么你的问题会引起混淆。 考虑 html 的例子:

<html>
 <body>
   <p> example of paragraph </p>
 </body>     
</html>

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":"example of paragraph type", "children":[ ... }``` 2. 如果没有说明应该省略哪个应该包括在内。
【解决方案2】:

这里有一个解决方案的javascript示例:Map HTML to JSON DOM 解析器非常相似,因此您可以尝试在 C# 中实现它。 (我也会对这样的实现感兴趣:D)

【讨论】:

    猜你喜欢
    • 2014-05-28
    • 2021-07-13
    • 1970-01-01
    • 2017-10-01
    • 2023-03-12
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 2019-12-03
    相关资源
    最近更新 更多