問題タブ [jsonpath]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2162 参照

json - JSONPath / QML - 文字列配列の要素を取得する

QML に JSONListModel を使用しているため、このJSON ファイルの解析に助けが必要です

これは、オンライン プレイヤーの名前を取得する Minecraft サーバー クエリです。ただし、各ノードを List デリゲートに追加するのに問題があります。

これは私のコードです:

ご覧のとおり、クエリがあります。これは、表示したい要素への JSONPath です。

私が取得したいのは、プレーヤーの名前です。ワイルドカードを使用してすべての名前を取得しましたが、テキストのテキストをモデル ("$['players'][0-x]") に設定すると、次のようになります。

次の行を指します。

JSONListModel.qml 内。

そうそう、私は私の道が間違っていると推測しています。リンク先のJSONファイルにあるような配列の扱い方がわかりません。

ファイルが次のようなものである場合:

私はちょうどすることができました

しかし、ノードに名前がないため、できません。それらは単なる値です。

誰かが私を助けることができますか?

0 投票する
1 に答える
1879 参照

java - JsonPath : 複数の値を抽出して関数を使用する方法。

XPath は、こ​​の式 "concat(name,type)" を解決します。JsonPathでもこれを行うことはできますか? -一度に複数の値を抽出し、それにいくつかの関数を使用します。

Google の JsonPath の Java 実装を使用しています。

ありがとう!

0 投票する
2 に答える
2075 参照

java - キーを知らなくても JsonPath を使用して値を抽出する

次のようなjson文字列があります。

JsonPath を使用して、ファイル名 {"fileA.c"," fileB.txt "} を抽出したいと考えています。ファイルの数は不明であることに注意してください。

問題は、ファイル名がキーなのか値なのかがわからないことです。

  • それがキーの場合...確かにキーの名前はわかりません。それが抽出したい情報だからです。
  • それが値の場合、そのキーは何ですか?
  • JsonPath を使用してファイル名を抽出できますか? もしそうなら、どのように?
  • JsonPathがこれを行うことができない場合、これを達成できるJson用のJavaライブラリはありますか?
0 投票する
1 に答える
623 参照

json - JSON パス クエリの可能性

の可能性は何ですかJSONPath queries。以下は、JSONPath - XPath for JSONから見つけたクエリです。

という点で有効なクエリも次のとおりです。JSONPath

オンライン エバリュエーターJSONPath Online Evaluatorでこれらのクエリを試してみると、これらは機能しません。

0 投票する
1 に答える
4470 参照

json - JSONPath で文字列値の部分文字列を取得する方法はありますか?

基本的に、JSONPath を使用して文字列値の一部を取得する必要があります。最初に JSONPath を使用して完全な値を取得してから、別の言語を使用してその一部を取得することはできません。

JSONPath でそれを行う方法はありますか?

0 投票する
1 に答える
3932 参照

java - JSONノードに特定の値が割り当てられた子ノードがあることをアサートする方法は?

次のような JSON 文字列があります。

同じステートメント/アサートで、 IDofThing123 ANDであるとname断言できる方法はありますか?Yet Another Thing

現時点では、フィルターの使用に失敗しているようです:

次の例外が発生します。

java.lang.IllegalArgumentException: 無効なコンテナー オブジェクトです

[]上記の JSON 文字列に配列表記がないためでしょうか。あるべきですか?

関連して、Hamcrest (JSON アサート付き) を使用するための適切な紹介はありますか? 公式のチュートリアルは知っていますが、いつも間違っているようです...

更新:これの合理的な理由は次のとおりです:いくつかのThing要素が返された場合、どの順序が保証されていないか(したがって、それらすべてをループしない限り一致できませんThing[1])? 1 つの要素が正しい ID と正しい名前の両方を持っていることを確認するにはどうすればよいですか? 子供たちを別々にチェックすると、1 つThingは正しい名前を持ち、もう 1 つは正しい ID を持っているが、両方を持っているリスクはありませんか? (それはその JSON 形式で可能でしょうか、それともとにかくその場合は配列にする必要があり"Thing": [ { ... }, { ... } ], ...ますか?

PS: 上記の JsonPath を最終的に次のように使用しようとしました:assertEquals("Yet Another Thing", JsonPath.read(json, "$.Things.Thing[?(@.ID == '123')].name")); そのため、例外が発生した可能性もあります。また、最初に JsonPath メーリング リストでこの質問をしましたが、これまでに返信がなかったので、ここでもっと早く助けが得られることを望んでいました... :)

0 投票する
2 に答える
170 参照

json - 適切な JSONPath を取得するには?

次の JSON 構造があります。

PriceElementのNameを取得する XPath コマンドを書きたいと思います。Ab1

私は次のことを試しました:"//Name[Ab1]/Price" しかし、これは私にとってはうまくいきません。