इसलिए मैंने "पढ़ा है jq
ट्यूटोरियल और के साथ खेला github
json
वहाँ से प्रतिक्रियाएँ और कुछ अन्य कुंजियों के कुछ मान निकाले मुझे लगता है कि मैं समझता हूं कि वाक्य रचना कैसे काम करती है। दुर्भाग्यवश Google पर इसका उपयोग करने का प्रयास करते समय कुछ भी काम नहीं करता है safe-browsing
json
प्रतिक्रिया। यहाँ एक चर में संग्रहीत पूर्ण प्रतिक्रिया है (जीथूब उदाहरणों के लिए भी ऐसा ही किया गया है jq
ट्यूटोरियल):
echo "$safeb"
{
"matches": [
{
"threatType": "MALWARE",
"platformType": "ALL_PLATFORMS",
"threat": {
"url": "http://www.wittyvideos.com"
},
"cacheDuration": "300s",
"threatEntryType": "URL"
}
]
}
... और यही मैंने कोशिश की:
echo "$safeb" | jq ".matches.threatType"
jq: error (at <stdin>:13): Cannot index array with string "threatType"
echo "$safeb" | jq ".threatType"
null
echo "$safeb" | jq ".[] | .threatType"
jq: error (at <stdin>:13): Cannot index array with string "threatType"
echo "$safeb" | jq ".[] | {type: .threatType}"
jq: error (at <stdin>:13): Cannot index array with string "threatType"
अग्रिम में धन्यवाद।
उत्तर:
जवाब के लिए 0 № 1.matches.threatType
.matches
एक सरणी है, इसलिए आपको "उपयोग करना होगा []
इसका विस्तार करने के लिए, उदा .:
.matches[].threatType
.threatType
इस प्रयास का उपयोग कर बचाया जा सकता है ..
, उदा।
.. | .threatType? // empty
[[] | .threatType
कोई टिप्पणी नहीं :-)
[[] | {टाइप: .threatType}
आप शायद मतलब था:
.matches[] | {type: .threatType}
अनुलेख
आप उपयोग करना चाह सकते हैं debug
डिबग / समझने में मदद करने के लिए कि क्या हो रहा है।
इसके अलावा, भविष्य में, कृपया अपेक्षित आउटपुट का वर्णन करने या दिखाने के लिए मत भूलना।