我从相机的API中获取一些数据。
响应中返回了一个大字符串,格式为VCA.Ch0.licenseid = 0
以下是回复的一部分
VCA.Ch0.licenseid=0\r\nVCA.Ch0.enable=yes\r\nVCA.Ch0.enablemovobj=yes\r\nVCA.Ch0.enablecntline=yes\r\nVCA.Ch0.trackmode=surv\r\n
是否可以解析此字符串?
假设我想查询有关参数VCA.Ch0.enable。
我该怎么做?
答案 0 :(得分:1)
▶ input.split.map { |kv| kv.split('=') }.to_h
#⇒ {
# "VCA.Ch0.enable" => "yes",
# "VCA.Ch0.enablecntline" => "yes",
# "VCA.Ch0.enablemovobj" => "yes",
# "VCA.Ch0.licenseid" => "0",
# "VCA.Ch0.trackmode" => "surv"
# }
答案 1 :(得分:0)
你可以这样做......
string = 'VCA.Ch0.licenseid=0\r\nVCA.Ch0.enable=yes\r\nVCA.Ch0.enablemovobj=yes\r\nVCA.Ch0.enablecntline=yes\r\nVCA.Ch0.trackmode=surv\r\n'
parsed_result = string.split("\r\n").reduce({}){|result, unit| key, data = unit.split('='); result[key] = data; result }
这可以让你......
parsed_result['VCA.CH0.enable']
=> 'yes'