मैं Node.js में निम्नलिखित वस्तु और lodash "क्वेरी" (मैं बस टर्मिनल में node
चल रहा हूँ):Lodash वापसी सरणी यदि पथ मान्य है
var obj = {
a: [{
b: [{
c: "apple"
},
{
d: "not apple"
},
{
c: "pineapple"
}]
}]
};
> _.get(obj, "a[0].b[0].c")
'apple'
> _.get(obj, "a[0].b[1].c")
undefined
> _.get(obj, "a[0].b[2].c")
'pineapple'
मेरे सवाल यह है: क्या पथों की एक सरणी वापस करने का कोई तरीका है जहां पथ वैध पाया गया था?
उदाहरण:
> _.get(obj, "a[].b[].c")
['apple', 'pineapple']
आप विशिष्ट पथ के लिए परिणाम सरणी प्राप्त करना चाहते हैं, कुछ 'एक [0] .b'? या किसी भी पथ, जैसा कि आपने प्रश्न में प्रदान किया है? – alexmac
जेसनपाथ देखें। https://github.com/dchester/jsonpath – Tomalak
@ टॉमलाक की सलाह के लिए धन्यवाद। यह कार्य jsonpath का उपयोग करके बहुत आसान होगा: 'jsonpath.query (obj,' $ .a [*]। B [*]। C '); ' – shaochuancs