python-jsonpath解析アーティファクト

序文

jsonpathは、jsonデータを解析するために使用されます。これは、特定のJSONドキュメントのコンテンツの一部を抽出する簡単な方法です。 JsonPathには、Javascript、Python、PHP、Javaなどの多くのプログラミング言語があります。

JsonPathが提供するjson解析は非常に強力で、通常の式のような文法を提供します。これにより、基本的に必要なすべてのjsonコンテンツを満足させることができます。以下では、コードを使用して公式Webサイトで紹介されている各式を実装し、使用方法をより直感的に理解できるようにします。

環境への設置

jsonpathはサードパーティのモジュールであり、追加でインストールしたい

pip install jsonpath

jsonpath構文規則

Xpath JSONPath 説明
/ $ フォローノード
. @ 現在のノード
/ 。または[] 子ノードを取得
.. 該当なし 親ノードのフェッチJsonPathはサポートしていません
// .. 相対ノードは、場所に関係なく、条件を満たすすべての条件を選択することです
* * すべての要素ノードに一致
[] [] イテレーターマーク(配列の添え字、コンテンツに基づいた値の選択など、簡単な反復操作を実行できます)
[、]
[] ?() フィルタリング操作をサポート
該当なし () 式の計算をサポート
() 該当なし グループ化、JsonPathはサポートしていません

jsonpathの使用例

"""
Create by dell on 2020/10/4
著者:wencheng
WeChat public:自動テスト共有する
"""
import jsonpath

jsonobj ={"code":0,"msg":"success","data":{"output":[{"id":"867899031136606","prediction":0.698744767973,"instances":[]},{"id":"867899031133728","prediction":0.695468634754,"instances":[]}]}}
msg = jsonpath.jsonpath(jsonobj,'$.msg')print("msg:%s"% msg)print("================================")

data = jsonpath.jsonpath(jsonobj,'$.data')print("data:%s"% data)print("================================")

output = jsonpath.jsonpath(jsonobj,'$..output')print("output:%s"% output)print("================================")
id = jsonpath.jsonpath(jsonobj,'$...id')print("id:%s"% id)

結果:

C:\python3.6\python.exe E:/Gitwokspace/Daily_py/Fileprocessing/test/jsonpath11.py

msg:['success']

================================

data:[{'output': [{'id': '867899031136606', 'prediction': 0.698744767973, 'instances': []}, {'id': '867899031133728', 'prediction': 0.695468634754, 'instances': []}]}]

================================

output:[[{'id': '867899031136606', 'prediction': 0.698744767973, 'instances': []}, {'id': '867899031133728', 'prediction': 0.695468634754, 'instances': []}]]

================================

id:['867899031136606', '867899031133728']

Process finished with exit code 0

皆さんが参考のために推奨する、より実用的なjsonオンラインツールをいくつか紹介します

オンラインJSONコードの検査、検査、美化、フォーマットツール:http://tools.jb51.net/code/json

JSONオンラインフォーマットツール:http://tools.jb51.net/code/jsonformat

オンラインXML / JSON変換ツール:http://tools.jb51.net/code/xmljson

jsonコードのオンラインフォーマット/美化/圧縮/編集/変換ツール:http://tools.jb51.net/code/jsoncodeformat

オンラインjson圧縮/エスケープツール:
http://tools.jb51.net/code/json_yasuo_trans

以上が本記事の全内容です。本記事の内容が、皆様の勉強や仕事に役立つ参考となることを願っております。ご不明な点がございましたら、メッセージを残してご交換くださいますよう、よろしくお願い申し上げます。

Recommended Posts

python-jsonpath解析アーティファクト