Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将HTML响应转换为nodejs中的数组或对象_Javascript_Node.js_String_Object - Fatal编程技术网

Javascript 将HTML响应转换为nodejs中的数组或对象

Javascript 将HTML响应转换为nodejs中的数组或对象,javascript,node.js,string,object,Javascript,Node.js,String,Object,我已经编写了一个express服务器,它点击Zaubacorp.com API并得到以下结果。结果是一个字符串 来自API的结果: <div class="show" align="left" id="company/CHOUDH/U65999MP1985PTC003043">CHOUDH </div> <div class="show" align="left" id="company/CHOPRA

我已经编写了一个express服务器,它点击Zaubacorp.com API并得到以下结果。结果是一个字符串

来自API的结果:

                <div class="show" align="left" id="company/CHOUDH/U65999MP1985PTC003043">CHOUDH </div>

                <div class="show" align="left" id="company/CHOPRA/U45201CT1982PTC001899">CHOPRA </div>

                <div class="show" align="left" id="company/CHOUDH/U72200UP1996PLC019258">CHOUDH </div>

                <div class="show" align="left" id="company/CHOROSEN-LIMITED/U99999MH1955PLC009659">CHOROSEN LIMITED </div>

                <div class="show" align="left" id="company/CHOLAI-FOUNDATION/U85300TN2019NPL127317">CHOLAI FOUNDATION </div>

如何从给定字符串中提取ID和公司名称,并将其发送到前端

您需要使用一些html解析器。其中之一是
https://www.npmjs.com/package/node-html-parser
。代码如下所示

const {parse} = require('node-html-parser');
console.log(JSON.stringify(parse(result.data)));
响应将是一个合适的JSON,类似于

{
    "childNodes": [{
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOUDH "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U65999MP1985PTC003043\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOUDH/U65999MP1985PTC003043"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOPRA "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOPRA/U45201CT1982PTC001899\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOPRA/U45201CT1982PTC001899"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOUDH "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U72200UP1996PLC019258\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOUDH/U72200UP1996PLC019258"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOROSEN LIMITED "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOROSEN-LIMITED/U99999MH1955PLC009659\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOROSEN-LIMITED/U99999MH1955PLC009659"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOLAI FOUNDATION "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOLAI-FOUNDATION/U85300TN2019NPL127317\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOLAI-FOUNDATION/U85300TN2019NPL127317"
    }],
    "tagName": null,
    "rawAttrs": "",
    "parentNode": null,
    "classNames": [],
    "nodeType": 1,
    "valid": true
}

这有你需要的所有必要信息。希望这能有所帮助。

您的htmldata是什么类型的?我觉得这可能很幼稚,但是否有其他端点或选项返回JSON(或其他)响应?嘿@JuhilSomaiya。。我对响应做了一个typeof,它是一个字符串。对不起,我是一个新的程序员。我仍然需要从这个字符串中提取所有ID和公司名称。我们怎么做?让我修改我的答案以反映实际情况changes@SarthakBatra我的回答帮你解决问题了吗?
{
    "childNodes": [{
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOUDH "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U65999MP1985PTC003043\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOUDH/U65999MP1985PTC003043"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOPRA "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOPRA/U45201CT1982PTC001899\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOPRA/U45201CT1982PTC001899"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOUDH "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOUDH/U72200UP1996PLC019258\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOUDH/U72200UP1996PLC019258"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOROSEN LIMITED "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOROSEN-LIMITED/U99999MH1955PLC009659\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOROSEN-LIMITED/U99999MH1955PLC009659"
    }, {
        "childNodes": [],
        "nodeType": 3,
        "rawText": "\n\t\t\t\t\t\t\t\n\t\t\t\t"
    }, {
        "childNodes": [{
            "childNodes": [],
            "nodeType": 3,
            "rawText": "CHOLAI FOUNDATION "
        }],
        "tagName": "div",
        "rawAttrs": "class=\"show\" align=\"left\" id=\"company/CHOLAI-FOUNDATION/U85300TN2019NPL127317\"",
        "parentNode": null,
        "classNames": ["show"],
        "nodeType": 1,
        "id": "company/CHOLAI-FOUNDATION/U85300TN2019NPL127317"
    }],
    "tagName": null,
    "rawAttrs": "",
    "parentNode": null,
    "classNames": [],
    "nodeType": 1,
    "valid": true
}