Open AndyLvVip opened 1 year ago
例如: set(bytes1[] a) -> ["0x12","0x34"];如果数组参数包含双引号,需转义,例如:set(string[] s) -> ["aaa"bbb","ccc"]。
如set(StructA a) -> StructA{bool a, string[] b} -> [true,"["test string"]"]。struct中的数组需要放在双引号内,双引号内的双引号需要转义。
//SPDX-License-Identifier: UNLICENSED pragma solidity >=0.6.0 <0.9.0; pragma experimental ABIEncoderV2; contract StructAContract { struct StructA { bool b; string[] a; } function testStruct(StructA memory a) public view returns (StructA memory s) { return a; } }
[true, ["test string"]]
版本:1.5.5
问题1:在页面上根本看不出下面这段话的转义符是什么
问题2:struct里面的数组是不需要放在双引号内的,也就不存在双引号内的双引号需要转义问题
测试的智能合约
测试通过的数据