问题描述
当我尝试将 XML 文件(从外部服务器请求)转换为 JSON 时,在我看来 xml2json 确实将其转换为正确的 JSON 文件。有什么需要调整的。我似乎缺少键的引号。
这是我当前的代码
app.get('/api/convertabstract/:id',async (req,res,next) => {
var data = '';
var finaldata = '';
function vertaaldata(){
return new Promise (resolve => {
https.get('https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=' + ' 11748933,11700088' +'&retmode=xml',function(res) {
if (res.statusCode >= 200 && res.statusCode < 400) {
res.on('data',function(data_) { data += data_.toString(); });
res.on('end',function() {
parser.parseString(data,function(err,result) {
finaldata = util.inspect(result,false,null,true);
}),resolve('klaar');
});
}})})
}
async function calltranslator() {
const result = await vertaaldata();
console.log(finaldata.PubmedArticleSet);
res.send('dit is de data:' + finaldata)
}
calltranslator();
});
JSON 输出:
{ PubmedArticleSet: {
PubmedArticle: [
{
MedlineCitation: [
{
[32m'$'[39m: { Status: [32m'MEDLINE'[39m,Owner: [32m'NLM'[39m },PMID: [ { _: [32m'11748933'[39m,[32m'$'[39m: { Version: [32m'1'[39m } } ],DateCompleted: [ { Year: [ [32m'2002'[39m ],Month: [ [32m'03'[39m ],Day: [ [32m'04'[39m ] } ],DateRevised: [ { Year: [ [32m'2006'[39m ],Month: [ [32m'11'[39m ],Day: [ [32m'15'[39m ] } ],Article: [
{
[32m'$'[39m: { PubModel: [32m'Print'[39m },Journal: [
{
ISSN: [ { _: [32m'0011-2240'[39m,[32m'$'[39m: { IssnType: [32m'Print'[39m } } ],JournalIssue: [....etc....
解决方法
据我所知,xml2js 和 xml2json 是完全不相关的库。您实际使用的是哪个 - 您提到了两者! xml2js 不声称生成 JSON,它声称生成 Javascript。