2017-01-18 6 views
2

Это должно быть невероятно просто, но справочная страница не имеет для меня никакого смысла. curl example.com/json дает мнеОсновные использование jq. Как получить вложенное значение

{ 
"stats": { 
    "storage_server.disk_total": XXXXXXXXXX 
}, 
"counters": {} 
} 

, и я хочу, чтобы извлечь значение XXXXXXXXXX из disk_total. Каков синтаксис для этого?

+0

'.stats []. Storage_server'? Работает для меня с идентичным (я думаю) типом структуры. –

ответ

2
  1. для обучения, как построить JQ запросы, это более полезно смотреть на tutorial и manual, чем на странице «человек». Там же FAQ.
  2. Внутреннее имя ключа имеет период в нем, поэтому для него не может использоваться стенограмма .keyname. Таким образом, вы могли бы написать:

.stats["storage_server.disk_total"] 

или если JQ это позволяет:

.stats."storage_server.disk_total" 

Оба эти аббревиатуры:

.stats | .["storage_server.disk_total"] 
1

Тхо точка в `storage_server.disk_total» должно быть экранированы, чтобы предотвратить его интерпретировать как разделитель ключевой объект, так что вы можете использовать:.

jq '.stats."storage_server.disk_total"' 

при условии, что XXXXXXXXXX является допустимым числом JSON в вашем реальный JSON.

 Смежные вопросы

  • Нет связанных вопросов^_^