我想将我的xml转换为json所以我已经安装了xml2json bower组件,但我不确定如何导入&在我的应用中使用。
我的步骤是
bower install xml2json
在ember-cli-build.js中我在返回app.toTree()之前放了这一行
app.import('bower_components/xml2json/xml2json.js');
app.js中的我有这段代码
import xml2json from 'xml2json';
...
ready: function () {
Em.$.ajax({
url: "/data/sequence.xml",
dataType:"xml"
}).done(function(xmlData){
var jsonData = Em.$.xml2json(xmlData);
console.dir(jsonData);
console.log(JSON.stringify(jsonData));
});
}
我收到此控制台错误:
Could not find module `xml2json` imported from `sequence-app/app`
我希望这是我错过的一些简单的事情,有人可以勾勒出这个过程应该是什么吗?
答案 0 :(得分:0)
xml2json.js只是创建一个全局的xml2json。如果没有填写垫片,您将无法导入它。
最简单的方法就是使用全局。不要导入它。
// in some route
model() {
return Em.$.ajax({
url: "/data/sequence.xml",
dataType:"xml"
}).done(function(xmlData){
var jsonData = xml2json.xml_to_object(xmlData);
console.dir(jsonData);
console.log(JSON.stringify(jsonData));
return jsonData;
});
}
有关更多信息,请阅读凉亭组件的源代码: https://github.com/ron-liu/xml2json/blob/master/xml2json.js
如果您更愿意使用导入,只需创建以下垫片:
// vendor/xmltojson.js
define('xmltojson', [], function() {
'use strict';
return {default: window.xmltojson};
});
您的ember-cli-build.js中的和app.import(“vendor / xmltojson”)