ホームページ >ウェブフロントエンド >jsチュートリアル >XMLオブジェクトをJsonオブジェクトに変換するJS操作の詳細説明
最近、フロントエンド関数を扱うときに問題が発生しました。元のシステムではデータを保存するために XML を使用していましたが、新しいシステムではそれを JSON オブジェクト ストレージに変換したかったため、XML オブジェクトを直接保存することを検討しました。 jsonオブジェクトに変換します。
これまでのところ、汎用的な変換方法は見つかっていません。既知の XML オブジェクト構造に基づいて値を継続的に割り当てるには、for ループを使用することしかできません。
var xml = ······;//获取xml对象 var objList = []; for(var i = 0;i<xml.childNodes.length;i++){ var obj = {}; obj.attribute1 = xml.getAttribute("attribute1");//获取节点属性 obj.attribute2 = xml.getAttribute("attribute2"); obj.children = []; for(var x=0;x<xml.childNodes[i].childNodes.length;x++){ var element = xml.childNodes[i].childNodes[x]; var child = {}; child.attribute1 = element.getAttribute("attribute1"); child.attribute2 = element.getAttribute("attribute2"); obj.children.push(child); } objList.push(obj); }
for ループはネストし続けることができ、新しい各 json オブジェクトの属性をカスタマイズできますが、必要な既存の属性を getAttribute() メソッドに入力する必要があります。
この方法はアホっぽいので、とりあえずはこのまま使って、もっと良い方法を思いついたら置き換えることも検討します。
以上がXMLオブジェクトをJsonオブジェクトに変換するJS操作の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。