ATestnetConsumer.sol示例中的“memory path”变量用于存储查询API返回的JSON数据的字段路径。该变量是一个字符串类型,包括要访问的字段的每一层级的名称,以“.”分隔。例如,如果想要访问JSON数据中的“result”属性下的“data”属性,代码可以如下所示:
function fulfill(bytes32 _requestId, uint256 _price)
public
recordChainlinkFulfillment(_requestId)
{
string memory path = "result.data";
int256 result = parseInt(requestIdToData[_requestId][path]);
// Do something with result...
}
在上面的代码中,“requestIdToData”是一个映射,它将 Chainlink 请求 ID 映射到返回的 JSON 数据。在“fulfill”函数从该映射中检索数据时,它还使用“path”变量来访问JSON数据中特定的字段。
需要注意的是,JSON数据中的数字值必须通过“parseInt”函数进行转换(如上例中所示),而字符串值则不需要进行转换。