JsonPath

jsonpath.png

JsonPath的用法示例:

import json

from jsonpath import jsonpath

if __name__ == '__main__':
    dict = {"class": {"students": [{"student_id": "1", "name": "bob", "sex": "male", "age": 6},
                                   {"student_id": "2", "name": "amy", "sex": "female", "age": 6},
                                   {"student_id": "3", "name": "pery", "sex": "male", "age": 5}], 
                                   "teachers": {"teacher_id": "1", "name": "anne", "sex": "female", "age": 32}}}

    # 獲取根節(jié)點下的任意name屬性的值
    print(jsonpath(dict, '$..name'))  # 輸出 ['bob', 'amy', 'pery', 'anne']

    # 獲取teachers節(jié)點
    print(jsonpath(dict, '$.class.teachers'))  # 輸出 [{'teacher_id': '1', 'name': 'anne', 'sex': 'female', 'age': 32}]

    # 獲取第一個students數(shù)據(jù)
    print(jsonpath(dict, '$..students[0]'))  # 輸出  [{'student_id': '1', 'name': 'bob', 'sex': 'male', 'age': 6}]

    # 獲取students的第一條數(shù)據(jù)的name屬性
    print(jsonpath(dict, '$..students[0].name'))  # 輸出 ['bob']

    # 獲取students的0,1條數(shù)據(jù)
    print(jsonpath(dict, '$..students[0,1]'))   # 輸出 [{'student_id': '1', 'name': 'bob', 'sex': 'male', 'age': 6}, {'student_id': '2', 'name': 'amy', 'sex': 'female', 'age': 6}]
    print(jsonpath(dict, '$..students[:2]'))    # 輸出 [{'student_id': '1', 'name': 'bob', 'sex': 'male', 'age': 6}, {'student_id': '2', 'name': 'amy', 'sex': 'female', 'age': 6}]

    # 獲取students的最后一條數(shù)據(jù)
    print(jsonpath(dict, '$..students[-1:]'))  # 輸出 [{'student_id': '3', 'name': 'pery', 'sex': 'male', 'age': 5}]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容