Files
cat/jsonPathTest.py

83 lines
2.0 KiB
Python

import json
from jsonpath_ng import parse
# JSON 데이터
json_data = [
{
"id": "ro4n",
"x": 0,
"y": 0,
"type": "wait_second",
"params": [
{
"id": "6xf0",
"x": 0,
"y": 0,
"type": "number",
"params": ["1"],
"statements": [],
"movable": None,
"deletable": 1,
"emphasized": False,
"readOnly": None,
"copyable": True,
"assemble": True,
"extensions": []
},
None
],
"statements": [],
"movable": None,
"deletable": 1,
"emphasized": False,
"readOnly": None,
"copyable": True,
"assemble": True,
"extensions": []
},
{
"id": "kkqk",
"x": 0,
"y": 0,
"type": "wait_second",
"params": [
{
"id": "167c",
"x": 0,
"y": 0,
"type": "number",
"params": ["1"],
"statements": [],
"movable": None,
"deletable": 1,
"emphasized": False,
"readOnly": None,
"copyable": True,
"assemble": True,
"extensions": []
},
None
],
"statements": [],
"movable": None,
"deletable": 1,
"emphasized": False,
"readOnly": None,
"copyable": True,
"assemble": True,
"extensions": []
}
]
# JSONPath 표현식
jsonpath_expr = parse("$[?(@.type=='wait_second')][0]")
# 첫 번째 "wait_second" 요소 찾기
matches = [match.value for match in jsonpath_expr.find(json_data)]
# 출력
if matches:
print("첫 번째 wait_second 요소:", json.dumps(matches[0], indent=4, ensure_ascii=False))
else:
print("❌ 해당 요소를 찾을 수 없습니다.")