1

我正在获取 CSV 数据,并通过输入字段将其显示给用户。我希望将这些值更新为 Json 并转换为 XML。是否可以使用用户输入更新 Json,或者是否有其他方法可以做到这一点?

$(document).ready(function() {
    $.getJSON(
        'CSV.php', 
        function(data) {
            $.each(data, function(index, element) {
                newDiv = $('<div/>').addClass('row').appendTo('#showdata');
                $('<div class="options">Payment Format: <select name="Payment_Format"><option value="CCC" selected="selected">Company to Company</option><option value="PPP">Company to Person</option></select> </div>').appendTo(newDiv);
                $('<div class="field">' + value + '</div>').appendTo(newDiv);
            }
        }
4

2 回答 2

2

要更新 JSON,您必须将其解码为 JavaScript 对象(这$.getJSON对您有用。然后您可以像操作其他任何对象一样操作 JavaScript 对象。

要从 JavaScript 获取 XML,您首先需要决定要使用哪种序列化,因为 JSON 不会自然地映射到 XML。例如,假设您有这个 JavaScript 对象:

{ person : { name : "Paul", parents : [ "Alice", "Bob" ] } }

什么是正确的 XML 表示?是不是这个:

<person name="Paul">
  <parent>Alice</parent>
  <parent>Bob</parent>
</person>

或这个?

<person>
  <name>Paul</name>
  <parents>
    <person name="Alice" />
    <person name="Bob" />
  </parents>
</person>

在这方面几乎有无穷无尽的变化,并且没有就什么是最好的达成共识。

一旦确定了需要什么序列化,就必须生成 XML。这并不难,但是如果您正在寻找可以直接放入项目中的东西,您可能需要进行一些搜索才能找到满足您需求的东西(因为您没有指定它们)。为了让您开始,这里有一个关于该主题的先前讨论

于 2012-05-29T20:04:48.023 回答
1

您几乎需要遵循以下流程:

  1. 将 JSON 解析为您的编程语言原生的“对象”(这应该很容易,因为您使用的是 javascript)
  2. 检索用户输入并相应地更新对象 ( obj.name = user_input)
  3. 将对象转换为 XML (ew) 并输出。从以前的 SO 帖子中查看一个示例

我不会强迫你完全使用 JSON,但如果可以的话,我会要求你考虑一下。它与 JS 配合得更好,并且有大量用于其他语言的库。更不用说它使用的数据比 XML 少得多。但是,如果您对此束手无策,这就是采取的方法

于 2012-05-29T19:52:33.890 回答