/ / jq - Google सेफब्रोसिंग जसन प्रतिक्रिया से महत्वपूर्ण मान नहीं निकाल सकता है - json, jq, safe-Browsing

jq - गूगल सेफब्रोसिंग json प्रतिक्रिया - json, jq, safe-Browsing से महत्वपूर्ण मान नहीं निकाल सकता है

इसलिए मैंने "पढ़ा है 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 डिबग / समझने में मदद करने के लिए कि क्या हो रहा है।

इसके अलावा, भविष्य में, कृपया अपेक्षित आउटपुट का वर्णन करने या दिखाने के लिए मत भूलना।