我需要在Ruby中实现一个简单的shell实用程序,它从文件中解析JSON并从中返回特定的字段。要解析如何从Ruby中的JSON获取特定的字段
JSON例子:
{"status": "fail", "messages": ["Out of capacity"]}
{"status": "success", "messages": [], "result": {"node": {"ip": "1.2.3.4", "description": "", "id": 974, "name": "VM#3"}}}
想法是创建一个CLI工具有两个参数:JSON文件从JSON阅读并现场提取:
./get_json_field.rb ~/tmp.XXXXXX 'result.node.ip'
./get_json_field.rb ~/tmp.XXXXXX 'messages.0'
我挣扎如何将第二个参数映射到Ruby中已解析的JSON数据结构。我可以肯定地写一个迭代器,将字符串拆分为一个数组,使用点作为分隔符,逐项遍历它,但这看起来不像是优雅的解决方案。
任何建议更优雅的方式?
为什么没有,似乎高贵?我觉得很自然! –
我还在想那个地图式的解决方案,那个 –