83 lines
2.0 KiB
Python
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("❌ 해당 요소를 찾을 수 없습니다.")
|