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を更新するには、JSONをJavaScriptオブジェクトにデコードする必要があります(これにより、JSONが自動的に実行さ$.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を完全に使用するように強制するつもりはありませんが、可能であれば、JSONを検討するようにお願いします。それはJSではるかにうまく機能し、他の言語用のライブラリがたくさんあります。言うまでもなく、XMLよりも大幅に少ないデータを使用します。あなたの手がこれに縛られているなら、これは取るべきアプローチです

于 2012-05-29T19:52:33.890 に答える