我是NodeJS的新手并试图找出如何从REST服务加载一些xml数据并将其转换为JSON,以便我可以将其加载到我的视图中。
我尝试使用Hapi
API查询并将其加载到xml解析器中,然后将其转换为JSON 。
执行以下操作似乎正确加载了xml对象,并且在打印时它实际上显示了一些JSON。 这是否意味着我不再需要转换为JSON了?
const server = new Hapi.Server();
...
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
Request.get('http://ws.seloger.com/search.xml?&idtt=2&idtypebien=2,1&ci=750056&pxmax=400000&tri=initial&naturebien=1,2&surfacemin=65search.xml?',
function (error, response, body) {
if (error) {
throw error;
}
var parse = require('xml-parser');
var inspect = require('util').inspect;
var obj = parse(body);
console.log(inspect(obj, { colors: true, depth: 4 }));
请注意,显示的JSON也不是我想要的,即。使用attributes
,children
等显示详细信息:
{ declaration: { attributes: { version: '1.0', encoding: 'UTF-8' } },
root:
{ name: 'recherche',
attributes: {},
children:
[ { name: 'resume',
attributes: {},
children: [],
content: '....' },
然而,寻找更像this的东西(可能只是一个不同的代表)
答案 0 :(得分:0)
所以我发现我的问题似乎与解析器本身有关。使用这个,我得到了我需要的东西:
var parseString = require('xml2js').parseString;
parseString(body, function (err, jsonData) {
reply.view('index', { result: body });
});