Mam następujący obiekt i lodash „zapytań” w node.js (jestem po prostu działa node
w terminalu):Lodash return array wartości, jeśli ścieżka jest poprawna
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'
Moje pytanie brzmi: czy istnieje sposób na zwrócenie tablicy wartości, w której ścieżka została uznana za poprawną?
Przykład:
> _.get(obj, "a[].b[].c")
['apple', 'pineapple']
Chcesz dostać tablicę wyników dla określonej ścieżki, coś 'a [0] .b'? Lub dowolną ścieżkę, o której mowa w pytaniu? – alexmac
Spójrz na jsonpath. https://github.com/dchester/jsonpath – Tomalak
Dzięki @ Tomalak's advice. Zadanie to byłoby całkiem proste przy użyciu jsonpath: 'jsonpath.query (obj, '$ .a [*]. B [*]. C');' – shaochuancs