私は、JSONのパスに新たなんだ、これはそれも可能だ場合、私は、期待するよりも簡単かもしれません。JSONパス:値と親を出力するには、階層的に
Iは、各グループが、フィールドのセットを有する、グループの集合から成るJSONブロックを有しています。各グループには、各フィールドと同様にシーケンスがあります。フィールドシーケンスはグループ内の順序を表し、グループシーケンスはグループ自体の表示順序を表します。
、私のグループ化アルゴリズムを私は別のシーケンス値を持つアイテム(グループやフィールド)のフラットリストのオフC#でプログラム的にこれを生成したので、私は拡張子によって、私の出力を検証したいです。
このようなJSONブロックルックス(大幅に単純化された):私は、JSONのパスでこれを検証しようとしている
{
"groups": [
{
"sequence": 0,
"fields": [
{
"sequence": 0
},
{
"sequence": 1
},
{
"sequence": 2
}
]
},
{
"sequence": 1,
"fields": [
{
"sequence": 0
},
{
"sequence": 1
}
]
},
{
"sequence": 2,
"fields": [
{
"sequence": 0
},
{
"sequence": 1
},
{
"sequence": 2
}
]
}
]
}
。このため、ツールはないので、jsonpath online evaluatorを使用しています。
私は何を目指していますが、この線に沿って出力されています、私は各グループの順序プラスのシーケンスを返すことができますJSONパスクエリのために言い換える
'0'
'sequence' => '0'
'fields'...
'0'
'sequence' => '0'
'1'
'sequence' => '1'
'2'
'sequence' => '2'
// etc...
探していますグループ内の各フィールドは、階層内にあります。
グループのシーケンスを取得するには、私は以下を使用しています。
$.groups[*].sequence
は出力::
'0' => "0"
'1' => "1"
'2' => "2"
グループ内のフィールドの順序を取得するには、私は、グループがすでにトップレベルのアイテムですので、これは、正常に動作し、私に有用な出力を提供します次のようにしてください。それは私が数十または複数のグループにまたがって複数のフィールドを持っている場合、読み取りが困難得ることができるフラットなリストだとして、ここでの出力は、あまり有用です。
$.groups[*].fields[*].sequence
出力:
'0' => "0"
'1' => "1"
'2' => "2"
'3' => "0"
'4' => "1"
'5' => "0"
'6' => "1"
'7' => "2"
だから、最終的には、質問はこれです:私は、階層的に、ここで必要な情報を取得できるようになるJSONパスクエリがありますか?あるいは私は仕事のために間違ったツールを使用していますか? JSONパスが学習する強力なツールかもしれないようなので、JavaScriptを使ってコードを書くことができると思いますが、ここでやることができれば何かを学びました。
try '$ .groups [*]。[sequence] ' – fingerpich