ParseParams return interface{} array of encode params item. A param item compose of type and value, type can be: bytearray, string, int, bool Param type and param value split with ":", such as int:10 Param array can be express with "[]", such [int:10,string:foo], param array can be nested, such as [
(rawParamStr string)
| 57 | //A raw params example: string:foo,[int:0,[bool:true,string:bar],bool:false] |
| 58 | //Note that if string contain some special char like :,[,] and so one, please '/' char to escape. For example: string:did/:ed1e25c9dccae0c694ee892231407afa20b76008 |
| 59 | func ParseParams(rawParamStr string) ([]interface{}, error) { |
| 60 | rawParams, _, err := parseRawParamsString(rawParamStr) |
| 61 | if err != nil { |
| 62 | return nil, err |
| 63 | } |
| 64 | return parseRawParams(rawParams) |
| 65 | } |
| 66 | |
| 67 | func parseRawParamsString(rawParamStr string) ([]interface{}, int, error) { |
| 68 | if len(rawParamStr) == 0 { |