假设我有一个结构&这样的映射:
struct myStruct {
address addr;
uint256 price;
bool approved;
}
mapping(string => myStruct) mappy;
如何检索所有键?我知道坚固性会产生getters,因此,如果我有密钥,我可以从结构内部检索信息。但是我不知道这些钥匙,我需要检索完整的结构。
也许一个更好的解决方案是拥有一个公共变量,该变量将是结构的大小,索引具有密钥并将键存储在结构中?这样我就会知道大小,我想我可以迭代
第一件事是,您不应将字符串用作键,更好地将Bytes32声明为字符串只是它的别名。
您可以呼叫映射,将字符串键作为参考。
但是,它将仅检索没有内部键盘的迭代阵列。
例如,您有: mappy['a']
包含以下信息
{
'0x000...000',
1,
true
}
呼叫将检索一个简单的数组: ['0x000...000',1,true]
如果您想使其成为对象,则必须自己重建它。