首页 > 解决方案 > 将 JSON 响应映射到使用 JS

问题描述

我有一个JSON响应进来,我需要将它映射到一个Object并只返回使用的特定字段js

在这里,我创建了一个示例响应:

{
"Header": {
    "SenderId": "IDMAN",
},
"Shipments": {
    "Shipment": [
        {
            "ShipmentNumber": "KIOKLIOS32",
            "Product": {
                "value": "1234",
                "description": "example desc"
            },
            "Services": {
                "Service": [
                    {
                        "value": "0234",
                        "amount": null,
                        "unit": null,
                    }
                ]
            },
  ...
}

将有多个服务,我需要这些字段shipments.shipment.product.valueshipments.shipment.services.service.value(所有这些都来自列表)。

我的一个想法是首先尝试创建一个const

if (response.status === 200) {
    let data = await response.text();
    const shipmentData = JSON.parse(data);
    const destination = {
      "Header": {
        "SenderId": _.get(shipmentData, 'Header.SenderId'),
      }
    };

    res.status(200)
      .send(destination);
}

这样我可以得到senderId但我无法访问数组。

我必须以哪种方式创建我的对象来映射所有这些?

标签: javascriptjsonmodelresponse

解决方案


推荐阅读