1
我有一個調用MongoDB命令並生成BSON輸出的shell命令。然後我想用jq解析輸出,所以我需要使用jq的tojson將BSON轉換爲JSON。Bash - 將MONGODB BSON轉換爲JSON
echo "db._adminCommand({replSetGetStatus : 1})" | /path/to/mongo
如何實現的toJSON是因爲這樣說簡單:
echo "db._adminCommand({replSetGetStatus : 1})" | /path/to/mongo | jq '[.[]|tojson]'
我還沒有把JQ我的服務器上還沒有,因爲我必須證明它的工作原理之前,我可以得到它釋放。
當我嘗試。[] | tojson在線演示它不起作用,但我不確定這是否是演示限制?
編輯
所以我設法 「JQ」 在測試服務器上運行的MongoDB,並試圖此:
echo "db._adminCommand({replSetGetStatus : 1})" | /path/to/mongo | ./jq '.members[] | {Server: .name, State: .stateStr}'
我收到的錯誤是這樣的:
parse error: Invalid numeric literal at line 1, column 8
所以看起來「jq」不能解析來自replSetGetStatus的數據。同時,當我坐下來撓頭時,等待變革管理死亡小組出現,如果有人有一些想法,他們將不勝感激。
我已經看到了一些程序漂浮稱爲'b2json'其將BSON到JSON。 – 2014-10-16 12:11:44
謝謝約翰,我真的很想用「jq」,因爲我有更多的機會獲得這個過去的變更管理和服務器。另外它有很多有用的功能。 – Chris 2014-10-16 12:15:19
哦,我明白了。那麼,你應該在一臺虛擬機上的測試機器或桌面上安裝「jq」(那是什麼,變更管理不喜歡虛擬機?!)。你必須有一些不太鎖定的開發/測試環境。如果不是的話,有時間做一份新工作! – 2014-10-16 12:17:39