2016-10-28 2 views
1

私はidフィールドを持つ4つのオブジェクトを含むJSON配列を持っています。 4番目のオブジェクトには、それぞれがidフィールドを持つ2つの子が含まれています。私は4人のトップレベルの子供のIDだけを取得したいです。私は4番目の要素の子供たちのIDを望んでいません。JSONPathを使用して最上位レベルの子のみを取得

これは、JSON文字列の簡易版である:彼らは、例えばから来るどのレベルかを決定する方法で、私のすべての6のid要素を取得しますJSONPath、$..idを使用して

[ 
    { 
    "id": 709709537 
    }, 
    { 
    "id": 1104067257 
    }, 
    { 
    "id": 2961327618 
    }, 
    { 
    "id": 9066007668, 
    "photo": { 
     "id": 461295287, 
     "thumbnails": [ 
     { 
      "id": 461295307 
     } 
     ] 
    } 
    } 
] 

[ 
    709709537, 
    1104067257, 
    2961327618, 
    9066007668, 
    461295287, 
    461295307 
] 

私は私の4トップレベルid子供を与えること$.idを期待しますが、これは私に何を取得していません。

多くのページを調査し、JSONテスター(例:https://jsonpath.curiousconcept.com/)を使用していくつかの実験を行いましたが、JSONPath式を見つけられず、上位4つの子ID要素を取得できませんでした。

トップレベルの子IDを取得するJSONPath式はありますか?

答えて

3

私はそれが

$[*].id 

あなたは配列にこれらを持っている、とあなたは、配列の各要素をしたいということを覚えておいてくださいされるべきだと思います。その後、あなたは.idが欲しい。

+0

これはうまくいくようです。ありがとう – user2970051

+0

問題はありません。 承認済みの回答に印を付けることを忘れないでください。このようにして、同様の問題を抱えている他の人たちは、あなたのものが実際に解決され、有用な情報を持っているのを見るでしょう。 – Nol

関連する問題