【问题标题】:convert json string to xml string in javascript在javascript中将json字符串转换为xml字符串
【发布时间】:2017-02-07 09:47:29
【问题描述】:

由于 ajax 请求,我得到了一个 json 字符串。 我需要使用 javascript/jquery 将 json 转换为 xml 字符串。 请帮我。 Json 字符串如下:

var json =
    "{
      "Data": {
        "SOM": {
          "Tab": [
            {
              "Values": {
                "SelectedValues": null,
                "LoadedValues": null,
                "ExpandedValues": null,
                "ID": "msorgrole"
              },
              "ID": "OrgRole"
            },
            {
              "Values": {
                "SelectedValues": null,
                "LoadedValues": null,
                "ExpandedValues": null,
                "ID": "msorg"
              },
              "ID": "Organization"
            },
            {
              "Values": {
                "SelectedValues": null,
                "LoadedValues": null,
                "ExpandedValues": null,
                "ID": "mscontenttype"
              },
              "ID": "PeopleType"
            },
            {
              "Values": {
                "SelectedValues": ",B79720D5-0E95-4CB7-B4F9-37BE24696F4F,831A2A77-B758-493A-B0F4-991A6427C31C,",
                "LoadedValues": null,
                "ExpandedValues": null,
                "ID": "mspeople"
              },
              "ID": "People"
            }
          ]
        }
      }
    }"

我需要像下面这样转换上面的 json 字符串:

var json = "<Data><SOM><Tab ID="OrgRole"> <Values ID="msorgrole"><SelectedValues /> <LoadedValues /> <ExpandedValues /></Values></Tab><Tab ID="Organization"> <Values ID="msorg"><SelectedValues /> <LoadedValues /> <ExpandedValues /></Values></Tab><Tab ID="PeopleType"> <Values ID="mscontenttype"><SelectedValues /> <LoadedValues /> <ExpandedValues /></Values></Tab><Tab ID="People"> <Values ID="mspeople"><SelectedValues>,831A2A77-B758-493A-B0F4-991A6427C31C,B79720D5-0E95-4CB7-B4F9-37BE24696F4F,</SelectedValues> <LoadedValues /> <ExpandedValues /></Values></Tab></SOM></Data>"

【问题讨论】:

标签: javascript jquery json xml


【解决方案1】:

你可以像这样使用http://goessner.net/download/prj/jsonxml/函数json2xml:

var data = '{"Data":{"SOM":{"Tab":[{"Values":{"SelectedValues":null,"LoadedValues":null,"ExpandedValues":null,"ID":"msorgrole"},"ID":"OrgRole"},{"Values":{"SelectedValues":null,"LoadedValues":null,"ExpandedValues":null,"ID":"msorg"},"ID":"Organization"},{"Values":{"SelectedValues":null,"LoadedValues":null,"ExpandedValues":null,"ID":"mscontenttype"},"ID":"PeopleType"},{"Values":{"SelectedValues":",B79720D5-0E95-4CB7-B4F9-37BE24696F4F,831A2A77-B758-493A-B0F4-991A6427C31C,","LoadedValues":null,"ExpandedValues":null,"ID":"mspeople"},"ID":"People"}]}}}';

var jsonObj = JSON.parse(data); // important to first convert json string into object

alert(json2xml(jsonObj));
&lt;script src="http://goessner.net/download/prj/jsonxml/json2xml.js"&gt;&lt;/script&gt;

【讨论】:

  • 嗨@prtdomingo 它工作正常,但我没有添加脚本标签,而是从链接中复制了函数并使用了它。谢谢。
  • 别担心,编码愉快!
【解决方案2】:

你可以使用这个插件,它非常有效: goessner

【讨论】:

    【解决方案3】:

    这将对您有所帮助:jasontoxml

    【讨论】:

    • 那你能告诉我你面临的确切问题吗?
    • @KishanOza 数组内的任何对象都会以这样一种方式计算,即节点名称是数组内该对象的索引。示例 {myArray:[{Hi,Hello}]} 导致 Hii0> Hello1>,这不是预期的行为。它应该演变成类似 HiiHello
    【解决方案4】:

    看看这个https://github.com/javadev/xml-to-json

    我是图书馆的维护者。

    var xml = jsonToXml("{}");
    
    // <?xml version="1.0" encoding="UTF-8"?>
    // <root></root>
    

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 2021-09-23
      • 2019-10-29
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      相关资源
      最近更新 更多