json - 修复 JSON::ParserError: 416: '{' 处的意外令牌而不使用 EVAL
问题描述
我正在尝试解析Hash
表示为 a 的 a String
,举个例子:
arr = "[{\"key\"=>\"VALUE\"}, {\"key\"=>\"VAlUE\"}]"
JSON.parse arr
=> JSON::ParserError: 416: unexpected token at '{"key"=>"VALUE"}, {"key"=>"VALUE"}]'
好的,这很不幸,我意识到我要解析的不是 JSON。但我可以这样做:
arr = "[{\"key\"=>\"VALUE\"}, {\"key\"=>\"VALUE\"}]"
eval(arr)
=> [{"key"=>"VALUE"}, {"key"=>"VALUE"}]
这很酷,但由于安全风险,我不想使用 EVAL。
如何在不使用 EVAL 的情况下获得与 EVAL 相同的结果?
解决方案
推荐阅读
- python - 提取额外的内容 python 请求
- rsync - rsync - 当有多个来源时如何排除文件夹?
- azure-pipelines - 使用服务主体的 azure cli 登录无法与 Azure 发布管道一起使用
- swift - 声明 Int 返回的函数中的 void 函数中出现意外的非 void 返回值
- django - 如何将多部分/表单数据从角度发布到 Django REST API
- javascript - 无法使用 onClick 函数获取 AJAX 输出
- java - ArrayList Integer - 计算平均成绩而不考虑极值
- node.js - 数据验证停止工作 multipart/form-data
- android - 在回收站视图中查看寻呼机
- python - 当第二个矩阵只有一列时,矩阵乘法会引发错误