【问题标题】:How to process the results from node-zillow?如何处理 node-zillow 的结果?
【发布时间】:2018-04-04 21:09:26
【问题描述】:

zillow 项目包。我已成功执行 GetSearchResults() 并获得了响应,但我不完全知道如何处理响应以从中获取信息。例如,这里是调用终端中的日志:

{ request:
   { address: '113 Cherry St',
     citystatezip: 'Seattle, Washington' },
  message: { text: 'Request successfully processed', code: '0' },
  response: { results: { result: [Array] } } }

我看到我有一个名为 result 的数组,我认为其中包含信息,但我该如何处理呢?

谢谢

【问题讨论】:

    标签: node.js zillow


    【解决方案1】:

    看起来您正在使用node-zillow 包。我注册了一个 zillow api 密钥来玩这个包。很难相信官方 API 只返回 XML...

    导航生成的 JSON 并打印出第一个 results、第一组 links,并获取其第一个 homedetails url。

    const Zillow = require('node-zillow');
    
    // get key from environment variable
    const z = new Zillow(process.env.ZWSID);
    
    const params = {
      address: '2512 Mapleton Ave.',
      citystatezip: '80304',
    };
    
    // store the results
    const results = await z.get('GetSearchResults', params);
    
    const homeDetails = results.response.results.result[0].links[0].homedetails[0];
    
    console.log(homeDetails);
    

    打印出来

    https://www.zillow.com/homedetails/2512-...
    

    【讨论】:

    • 因此,例如,如果我想设置一个变量等于第一行中的地址之类的东西,我是否要做类似 var homedetails=results.response.results.result[0].address[ 0];?我知道这不正确,但这是关于正确的想法吗?
    • 是的,这是一种方法。如果您正在同步工作,最好await 结果,所以我更新了上面的答案以使其更加清晰。
    【解决方案2】:

    从文档看来,您正在处理承诺。所以我建议简单地这样做:

     GetSearchResults() 
     .then(function(results) {
        //handle your results here for instance
        console.log(results) 
      })
    

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多