【发布时间】:2021-09-11 23:09:02
【问题描述】:
我有一个 json 输出,但不幸的是,我无法使用任何 json 库解析它,因为我运行脚本的设备无法更新。
根据设备型号,我得到的输出略有不同(注意冒号前的空格):
json_output1='{ "var1" : "result1", "var2" : "result2", "var3" : "result3", "var4" : "10" }'
or
json_output2='{ "var1": "result1", "var2": "result2", "var3": "result3", "var4": "10" }'
我找到了一种方法可以用 string:match() 和正则表达式将其解析为字符串
var1, var2, var3, var4 = json_ouptut1:match('.+"var1" : "([^"]+)"'
.. '.+"var2" : "([^"]+)"'
.. '.+"var3" : "([^"]+)"'
.. '.+"var4" : "([^"]+)"')
print(var2)
--[[ OUTOUT
$lua main.lua
result2
--]]
这项工作我很满意,但由于冒号前的空格,它只适用于一个或另一个输出。
知道如何让这对任何一个字符串都有效吗?
谢谢
【问题讨论】:
标签: string lua lua-patterns