序文
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