ruby - 如何将以字符串形式表示的数组转换为实际数组
问题描述
我有一个字符串形式的数组
"[{"img_type":"HA","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"},{"img_type":"HB","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"}]"
我需要将其转换为
[
{"img_type": "HA", "img_size": 0, "img_name": "8a040ff1-e780-4843-9f01-6dc37e11f3c8"},
{"img_type": "HB", "img_size": 0, "img_name": "8a040ff1-e780-4843-9f01-6dc37e11f3c8"}
]
我尝试删除双引号,但没有用。如何将其转换为数组?
解决方案
str = '[{"img_type":"HA","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"},{"img_type":"HB","img_size":0,"img_name":"8a040ff1-e780-4843-9f01-6dc37e11f3c8"}]'
require 'json'
JSON.parse(str, symbolize_names: true)
#=> [{:img_type=>"HA", :img_size=>0, :img_name=>"8a040ff1-e780-4843-9f01-6dc37e11f3c8"},
# {:img_type=>"HB", :img_size=>0, :img_name=>"8a040ff1-e780-4843-9f01-6dc37e11f3c8"}]
请注意JSON::parse提供了几个可选参数,其中之一 ( symbolize_names
) “返回 JSON 对象中名称(键)的符号。否则返回字符串。”
推荐阅读
- cqengine - 通过 AttributeByteCodeGenerator 创建属性时获取异常“尝试重复的类定义”
- c# - 如何设置ef核心外键字段不为空?
- perl - 如何编写在 HTTP 响应发送到客户端后运行的 Plack 中间件?
- c# - 如何使用编译时未知的泛型类型调用构造函数方法
- javascript - 将部分jquery替换成javascript——进度条加载
- assembly - Masm32设置富文本编辑的颜色
- ios - 如何从 IOS 应用打开特定的 Facebook 帖子。不是脸书页面。打开 Facebook 帖子的正确 url 方案?
- c++ - GetWindowRect() 返回的大小小于游戏的实际可见窗口的可能原因是什么?
- continuous-integration - 子模块更改时如何触发管道?
- sharepoint - 如何使用 Microsoft Graph API 获取 SharePoint 在线组