微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 xml2js 时没有得到预期的 JSON 格式,可以修复吗?

如何解决使用 xml2js 时没有得到预期的 JSON 格式,可以修复吗?

当我尝试将 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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。