我需要在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數據結構。我可以肯定地寫一個迭代器,將字符串拆分爲一個數組,使用點作爲分隔符,逐項遍歷它,但這看起來不像是優雅的解決方案。
任何建議更優雅的方式?
爲什麼沒有,似乎高貴?我覺得很自然! –
我還在想那個地圖式的解決方案,那個 –