如何检查密钥表是否存在密钥?

问题描述 投票:1回答:1

每分钟我都会通过请求从网上商店检索以下数据。

  {
  ['action'] = 'all',
  ['orders'] = { ['order'] = { [1] = { ['locationId'] = 1,
                                       ['id'] = 93,
                                       ['orderNumber'] = '3200'
                                     }
                             }
               },
  ['status'] = 'success'
  }

从此表中,我需要使用代码读取的ID号:

IdNummer = Table.orders.order[1].id;

如果有命令,这有效

如果没有订单准备就绪,我将收到下表:

{ 
['action'] = 'all', 
['orders'] = { ['order'] = {}  }, 
['status'] = 'success'
}

由于“ id”不存在,因此出现错误:尝试为nil值建立索引(字段'?')如何检查“ id”是否存在而不会出现错误?

lua lua-table
1个回答
2
投票
[您应先检查条目Table.orders.order[1]是否存在,然后再尝试访问其id字段。

在lua中,未分配的字段具有nil值。所以你可以做:

local orders = Table.orders.order local IdNummer = nil if orders[1] ~= nil then IdNummer = orders[1].id; end

请注意,在此示例中,如果索引不存在,IdNummer的值为nil。
© www.soinside.com 2019 - 2024. All rights reserved.