>source

유사한 분야에 포함 된 JSON이 있습니다.

{
  "newData": {
     "field1": "value1",
     "field2": value2,
     "field3": "value3"
  }
  "oldData" :{
     "field1": "value1",
     "field3": "someValue"
  }
}

이제는 비교하고 싶습니다뉴다타olddata....에 만약뉴다타안에없는 새로운 필드가 포함됩니다olddata.나는 그들을 추가하고 싶다세트...에 또한 if.뉴다타olddata.동일한 필드를 가지고 있지만, 다른 가치가있는 것도 또한 그들을 추가하고 싶습니다.세트...에 그들이 같은 경우 나는 무시하고 싶다.

나는 그것을하려고 노력했다요부다음과 같이 :

val newData= json.newData
val oldData= json.oldData
val result= newData.hcursor.keys.toSet
.filterNot(oldData.hcursor.keys.toSet)

그리고 그것은 OK If를 사용합니다뉴다타그런데 다른 분야가있다olddata....에 그러나 둘 다 다른 값과 동일한 필드가있는 경우에는 작동하지 않습니다. JSONs와 다른 경우 동일한 키의 값을 비교할 수있는 방법을 모르고 있으며, 설정하도록 추가 할 수 있습니다. 내 code를 어떻게 변경해야합니까?

  • 이전 PysimpleGui CANC가 기능을 올바르게 사용하지 않습니다
  • 다음 python : 최종 결과가 '', '로 분리 된 두 상위 목록에서 동일한 인덱스 항목이 포함 된 목록의 두 개의 목록 병합