최근 프론트 엔드 기능을 다룰 때 문제가 발생했습니다. 원래 시스템에서는 xml을 사용하여 데이터를 저장했지만 새 시스템에서는 json 객체 저장소로 변환하고 싶어서 직접 고려했습니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!