现版本的dolphindb不支持直接把一个dict类型的变量存到表里,但是可以用toStdJson把字典转化成字符串再存。得到的字符串可以用parseExpr().eval()再转化回来。
举个例子:
config = dict(STRING, ANY)
config[`name] = `dmc
config[`desc] = "minute factor"
config[`upper] = [`oles, `macd]
config[`ParamKeys] = [`win,`high,`times,`range]
config[`ParamValues] = [3,10,20,[`abc,`adc]]
// 字典转字符串
config_string = toStdJson(config)
// 字符串转字典
config_dict = parseExpr(config_string).eval()
不过要注意,dolphindb内对单个字符串的大小限制是16K。如果您的参数字典比较大,可以将一些固定数据类型和数量的参数拆分相互来,单独存放成表中的几列。对于以字符串数组为值的参数,比如只有字母、数字、下划线的变量名,可以考虑用特殊字符作为连接符拼接成一个长字符串,要使用时可以用split函数进行拆分。