2016-05-16 3 views
-2

Brauchen Sie Ihre Hilfe bei der Suche nach einer Lösung. Ich habe folgende JSONPython Json passen mehrere und ersetzen

[{"source": "AA", "Ziel": "BB", "Metrik": "10", "local_interface": "100", "remote_interface": "200" }, {"source": "AA", "Ziel": "BB", "metrisch": "10", "local_interface": "111", "remote_interface": "222"}, {"source" : "BB", "Ziel": "AA", "Metrik": "10", "local_interface": "200", "remote_interface": "100"}]

das Ziel ist, zu:

  • erstes Element (dh: Muster) als Quelle/Ziel/lokales_Interface
  • erhalten Sie die restlichen Elemente für suchen etwas passendes source = pattern.target, target = muster.source, remote_interface = muster.local_interface
  • entferne das Element von json.

Hoffe das macht Sinn.

+0

Also wo ist dein Code und was genau ist das Problem damit? – jonrsharpe

Antwort

0

Sind Sie auf der Suche nach etwas Einfachem?

j = [{"source":"AA","target":"BB","metric":"10", 
"local_interface":"100","remote_interface":"200"}, 
{"source":"AA","target":"BB","metric":"10", 
"local_interface":"111","remote_interface":"222"}, 
{"source":"BB","target":"AA","metric":"10", 
"local_interface":"200","remote_interface":"100"}] 

s = j[0]["source"] 
print(s) 
t = j[0]["target"] 
print(t) 
li = j[0]["local_interface"] 
print(li) 

print('Find source ==', t) 
for i in range(1,3): 
    if j[i]['source'] == t: 
    print("Is match:", j[i]) 

print() 

del(j[1]) 
print("after deletion:", j) 
+0

thx Jörgen. Ich muss gegen alle drei Werte überprüfen. Ich denke, wenn j [i] ['source'] == t und j [i] ['target'] == s und j [i] ['remote_interface'] == li: wird funktionieren – Cmarv

+0

Sicher. Und das zu löschende Array-Element ist der Index in i – Jorgen