【问题标题】:Generate different JSON from XML从 XML 生成不同的 JSON
【发布时间】:2010-10-17 09:08:21
【问题描述】:

我正在尝试从 XML 文件生成一些 JSON,但不是直接的转换。我希望选择位并具有稍微不同的结构。

我宁愿不只是将一个巨大的字符串连接在一起,并且想知道周围是否有一些像样的库可以做到这一点。

另外,为了测试,我希望能够验证创建的 json,只需简单检查一下它是否是有效的 JSON

【问题讨论】:

    标签: c# javascript json


    【解决方案1】:

    其他答案看起来不错:我想我也会将源格式绑定到对象中,然后序列化为其他格式。并且将对对象进行任何转换,而不是使用数据格式表示。当使用正确的解析器(用于输入)和生成器/序列化器(用于输出)时,您不必担心格式正确(导致 xml 或 json 在语法上正确)。 对于商业逻辑的有效性,您可以(并且应该)使用对象来做到这一点。

    【讨论】:

      【解决方案2】:

      我可能会使用 Linq to XML(XElement 和朋友)来生成新对象,然后将该对象传递给 Json 序列化程序。

      【讨论】:

        【解决方案3】:

        您可以使用XSLT 非常轻松地将XML 转换为其他文本表示,尤其是使用xsltprocxalan 的命令行版本的文件到文件。

        XSLT 有时是一种笨拙的编程语言,但如果你走这条路,我有两个关于 JSON 转换的建议。使用 UTF-8 字符集将输出设置为文本:

        <xsl:output method="text" encoding="UTF-8" />
        

        并在结果上运行JSLint,以捕获 XSLT 文件中的任何错误。

        【讨论】:

        • 是的,我过去使用 XSLT 来实现这一点,但是 XSLT 不是很慢吗?我需要这个非常漂亮。
        【解决方案4】:

        将 XML 加载到一组类中(使用 XMLSerializer),然后在这些类上实现 JSON 生成器方法。不同的方法,不同的 JSON。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-02-11
          • 1970-01-01
          • 2016-05-03
          • 2018-06-30
          • 1970-01-01
          • 1970-01-01
          • 2021-08-27
          • 2015-12-06
          相关资源
          最近更新 更多