Нахождение одинаковых параметров в json
Мне необходимо найти два одинаковых параметра position X, Position Z, и если они будут обнаружены удалить объекты(не параметр, а объект с ним) при помощи python json
{
"name": "CeilingSkylight",
"uniqueId": 14863.6865,
"position": {
"x": -121.896072,
"y": -2.105801,
"z": -0.7743931
},
"rotation": {
"x": 0.9970698,
"y": -1.63123222E-08,
"z": -0.07649757,
"w": 2.05165609E-08
},
"isKinematic": true,
"instantiationData": null,
"runtimeData": null
},
{
"name": "wall_32",
"uniqueId": 14648.8867,
"position": {
"x": -69.8076,
"y": -2.08303857,
"z": -98.8506241
},
"rotation": {
"x": 0.00676841568,
"y": -0.6764084,
"z": 0.006090162,
"w": -0.7364705
},
"isKinematic": true,
"instantiationData": null,
"runtimeData": null
}
Уточняю: открыл файл, нашел одинаковые параметры, удалил объект с параметрами.
Код
import json
import os
from sys import exit
print("Please move your map to /storage/emulated/0/Hypper_Maps")
if not os.path.exists("/storage/emulated/0/Hypper_Maps"):
os.mkdir("/storage/emulated/0/Hypper_Maps")
imap = input("map name: ")
map = f"{imap}.svn"
path = f"/storage/emulated/0/Hypper_Maps/{map}"
try:
with open(path,"r") as osave:
mapData = json.loads(osave.read())
except FileNotFoundError:
print(f"Can not find {map} in /storage/emulated/0/Hypper_Maps")
exit()
for prop in mapData["props"]:
#строка 22
pass
with open(path, 'w') as save:
json.dump(mapData, save)
osave.close()
На строке 22 возникли трудности: я понятия не имею как сравнивать все Position и находить среди них одинаковые значения. Я не умею удалять объекты json. Мне нужно удалить только один дубликат, а не сразу все дубликаты на карте
Источник: Stack Overflow на русском