首页 > 解决方案 > 如何从 JavaScript(HTML) 中的 JSON 对象获取没有键的值

问题描述

                 [17/02/2020]      [18/02/2020]    [19/02/2020]
itemseq    1 Allocated        2             6              7
itemname   2 Out Of Order     0             0              0

success: function (result) {
                    debugger;
                    var Item1 = JSON.parse(result.Item1)
                  
                    if (Item1.length == 0) {
                        $('<tr><td colspan="4">No Record Found</td></tr>').appendTo($('#Tablev'));
                    }
                    $('#Tablev tr:not(:first)').empty();

                        $('<tr>' +
                            '<th ' + item.itemseq+ '</th>' +
                            '<th>' + item.itemname + '</th>' +
                            (need to get the Date and date values like we got the above 2 things)


                            '</tr>').appendTo($('#Tablev'));
                    });

我正在尝试 为例如(日期“16/02/2020”)添加键值:以及它包含的值(0)并将它们显示在网格上,我设法得到了itemseqitemname但我不知道如何获取另外两个键值。日期和值是在用户输入日期范围内从 mssql 接收的。

我收到的 JavaScript 中的 JSON 字符串是(json 字符串一直在进行,这是代码的一半)

[
  {
    "itemseq": 1,
    "itemname": "Allocated",
    "17/02/2020": 2,
    "18/02/2020": 6,
    "19/02/2020": 7,
    "20/02/2020": 3,
    "21/02/2020": 7,
    "22/02/2020": 6,
    "23/02/2020": 2,
    "24/02/2020": 5
  },
  {
    "itemseq": 2,
    "itemname": "Out Of Order",
    "17/02/2020": 0,
    "18/02/2020": 0,
    "19/02/2020": 0,
    "20/02/2020": 0,
    "21/02/2020": 0,
    "22/02/2020": 0,
    "23/02/2020": 0,
    "24/02/2020": 0
  },
  {
    "itemseq": 3,
    "itemname": "Daily Occupancy %",
    "17/02/2020": 28.57,
    "18/02/2020": 85.71,
    "19/02/2020": 100,
    "20/02/2020": 42.85,
    "21/02/2020": 100,
    "22/02/2020": 85.71,
    "23/02/2020": 28.57,
    "24/02/2020": 71.42
  }
]  

我如何获取日期和它包含的日期值 “(日期)18/02/2020”:(值)85.71,

当我们使用字符串时,我们可以打破字符串并获取(item.itemseq item.itemname)之类的值,我想知道如何获取日期值和日期值,因为这些数据被传递到网格和将在那里使用..
例如-列-日期 [18/02/2020] [19/02/2020] 和行明智的我们有 [Allocated][Out Of Order] 的特定日期它应该包含值那个日期有 [85.71][100]

标签: javascriptjson

解决方案


尝试这个

const json = [{"itemseq":1,"itemname":"Allocated","17/02/2020":2.0000,"18/02/2020":6.0000,"19/02/2020":7.0000,"20/02/2020":3.0000,"21/02/2020":7.0000,"22/02/2020":6.0000,"23/02/2020":2.0000,"24/02/2020":5.0000},{"itemseq":2,"itemname":"Out Of Order","17/02/2020":0.0000,"18/02/2020":0.0000,"19/02/2020":0.0000,"20/02/2020":0.0000,"21/02/2020":0.0000,"22/02/2020":0.0000,"23/02/2020":0.0000,"24/02/2020":0.0000},{"itemseq":3,"itemname":"Daily Occupancy %","17/02/2020":28.5700,"18/02/2020":85.7100,"19/02/2020":100.0000,"20/02/2020":42.8500,"21/02/2020":100.0000,"22/02/2020":85.7100,"23/02/2020":28.5700,"24/02/2020":71.4200}]

json.map((item) => {
 console.log(item["21/02/2020"])
})

它将返回:

7
0
100

推荐阅读