問題タブ [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.
java - JsonPath - Java の Long 型を読み取る
このようなJSONデータがあります
{"セッション ID":7242750700467747000}
数値はサーバー応答から事前に取得され、Java Long としてサーバー側で生成されます。クライアントはこれsessionID
を認識し、リクエストとともに送信します。問題は、クライアントのリクエストがサーバーに到着したときに、この値を再度解析して Long 型にする必要があることです。具体的には、JsonPath を使用します。
このようにJSONデータを解析すると
長い sessionID = JsonPath.read(json, "$.sessionID");
例外があります:
java.lang.ClassCastException: java.lang.Integer は java.lang.Long にキャストできません
したがって、数値は JsonPath によって Integer として解析されるようです。Integer は Long よりも小さいため、これは間違いなく間違った結果につながります。JsonPath でデータを解析して Long として返す方法はありますか?
json - CometD と Tomcat はロングポーリングを使用していません
cometD と Longpolling で tomcat を動作させるのに問題があります。
ポーリングは少なくとも 1 秒間留まる必要がありますが、すべてのリクエストが ms 領域にあることが firebug でわかります。サーバーはミリ秒で応答しません。
これが私がfirebugで得たものです:
私の web.xml
私のpom:maven-war-plugin org.cometd.javascript cometd-javascript-dojo org.mortbay.jetty jetty-maven-plugin 10 /をインストールします
longpoll 構成に何か欠けていますか?
java - JsonPath NoClassDefFoundError、または Java の JsonPath の代替
私が取り組んでいるプロジェクトに関連する理由から、たとえば、JSON ファイルへのクエリ全体を文字列として保持したいと考えています$.store.book[*].title
(ドキュメントの各レベルを個別のオブジェクトとして一時的に保存する必要はありません)。 .
私は現在、JsonPath (バージョン 0.8.0、私が見つけた最新のもの) を使用しています。これは基本的にまさに私が探しているものですが、以下に示す例外が発生しています。サンプル クエリの 1 つを使用して、JsonPath Google コード ページにあるサンプル JSON を使用しているだけです。
ここで何が間違っていますか?または、解決策がない場合、Java の JsonPath に代わるものはありますか? クエリ全体を文字列として渡すことができるようにしたいのですが、それは Java でなければなりません。
関数:
例外:
JSON の練習:
json - JMeter を使用して順序付けされていない JSON オブジェクトの null 値を解析する方法
Web サービスから JSON 応答を受信しています。これは、テストの実行時にJMeterを使用して簡単に解析できます。私たちが最近発見した問題は、JSON オブジェクトのフィールドが常に同じ順序ではないということです。したがって、正規表現は壊れます。
私たちが試した解決策は次のとおりです。
1.) JSON パス エクストラクタ(jp@gc から):
これはかなりクールで、必要な要素を選択できます。問題は、null
値がある場合にまったく読み取れないことです。
2.)次に、変数を初期値に設定するBeanShellプリプロセッサを追加してnull
、条件に達したときに適切に実行されるようにしました。このアプローチの問題点は、いったん に設定するとnull
、値が JSON パス エクストラクタによって選択された場合、何も変更されないことです。
これを機能させる他の方法について何か考えがある人はいますか? ご不明な点や説明が必要な場合はお知らせください。
java - Java の JsonPath の高速な代替手段
JsonPath は、大きな JSON ファイルではかなり遅いようです。
私のプロジェクトでは、ユーザーがクエリ全体を文字列として渡せるようにしたいと考えています。JsonPath を使用すると、クエリ全体$.store.book[3].price
を一度に行うことができるためですJsonPath.read(fileOrString, "$.store.book[3].price", new Filter[0])
。Javascript で JSON ファイルを操作するより高速な方法はありますか? クエリ全体を文字列として渡すことができれば理想的ですが、必要に応じてパーサーを作成します。何か案は?
小さな最適化でも役に立ちます。たとえば、現在、クエリを実行するたびに JSON ファイルから読み取っています。最初にファイル全体を文字列にコピーし、代わりに文字列にクエリを実行するほうがよいでしょうか?
編集:「これは Java ではなく Javascript です」と言っている人には、まあ、実際には Java です。JsonPath は Javascript に似たクエリ言語ですが、私が書いているファイルは間違いなく Java です。クエリのみ Javascript で記述します。JsonPath に関する情報とコードのスニペットを次に示します: https://code.google.com/p/json-path/
javascript - jsonパス文字列を正規表現に置き換えて修正するには?
次のように、jsonパスが変更された文字列のjavascript配列があります。
このリストからすべての要素を変更して、有効な json パスにするにはどうすればよいですか? 私はこのようなことを意味します: