使用用户输入更新JSON并转换为XML

时间:2012-05-29 19:28:00

标签: jquery json

我正在使用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);
            }
        }

2 个答案:

答案 0 :(得分: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。它是not hard to do但是如果你正在寻找你可以直接进入你的项目的东西,你可能需要做一些搜索来找到满足你需求的东西(因为你还没有指定它们)。为了帮助您入门here's a previous discussion on that topic

答案 1 :(得分:1)

您将非常需要遵循此流程:

  1. 将JSON解析为您的编程语言原生的“对象”(这应该很简单,因为您使用的是javascript)
  2. 检索用户输入并相应地更新对象(obj.name = user_input
  3. 将对象转换为XML(ew)并输出。从an example of this
  4. 查看previous SO post

    我不会强迫你完全使用JSON,但如果可以,我会请你考虑一下。它在JS上运行得更好,并且有大量的库用于其他语言。更不用说它使用的数据明显少于XML。如果你的双手被绑在上面,这就是采取的方法