C # JSON-동일한 속성을 가진 서로 다른 유형의 여러 개체 직렬화

앵그리 제임스

JSON 직렬화를 꽤 많이 사용했지만 동일한 속성을 가진 유사한 개체를 여러 개 포함 할 수있는 개체가있는 시나리오 (이전에 본 적이없는)를 발견했습니다. 예를 들면

{
"Objects": {
   "ObjectA": {
     "prop1": 6601,
     "prop2": "Prop",
     "propParams": [
       {
         "Type": 0,
         "Name": "name"
       }
     ]
  },
  "ObjectB ": {
    "prop1": 6601,
    "prop2": "Prop",
    "propParams": []
    }
   }
}

불행히도 그것은 객체의 목록 / 배열이 아닙니다. 내 문제 중 하나입니다.

그래서 나는
그것들을 다루는 방법에 대한 도움, 제안, 안내 등을 사용할 수있는 몇 가지를 가지고 있습니다.

Objects먼저 물건부터 시작해야한다고 생각합니다 . 보시다시피, 그들은 다른 유형이지만 동일한 속성을 포함하며이 Objects클래스의 모든 객체에 대해 적용 됩니다. 개체를 가져 와서 Standard적절한 속성을 포함하는 개체로 "변환"하는 방법이 있습니까? JsonConvert로 뭔가 생각하고 있습니다. "표준"개체의 문자열 속성으로 개체 유형을 사용할 수 있습니다.

2nd Objects객체 유형에 관계없이 객체를 배열 / 목록 으로 만드는 방법이 있습니까? 이 작업을 먼저 수행해야 할 수도 있음을 이해하지만 내가 한 순서대로 요청하는 것이 합리적입니다.

나는 현재 다른 도움을 위해 웹을 샅샅이 뒤지고 있지만 여기서 물어볼 것이라고 생각했습니다.

StriplingWarrior

ObjectsA와 처리한다 Dictionary<string, Standard>.

예를 들어 다음 LINQPad 쿼리는 다음과 같습니다.

void Main()
{
    JsonConvert.DeserializeObject<Payload>(@"{
    ""Objects"": {
       ""ObjectA"": {
         ""prop1"": 6601,
         ""prop2"": ""Prop"",
         ""propParams"": [
           {
             ""Type"": 0,
             ""Name"": ""name""
           }
         ]
      },
      ""ObjectB "": {
        ""prop1"": 6601,
        ""prop2"": ""Prop"",
        ""propParams"": []
        }
       }
    }").Dump();
}

public class Payload
{
    public Dictionary<string, Standard> Objects{get;set;}
}

public class Standard
{
    public int Prop1{get;set;}
    public string Prop2{get;set;}
    public List<Dictionary<string, object>> PropParams{get;set;}
}

이 결과가 나타납니다.

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 JSON 파일을 Powershell 개체의 배열로 읽고 속성에 대해 동일한 값을 가진 파일을 필터링합니다.

분류에서Dev

jackson을 사용하여 동일한 ID를 가진 2 개의 개체를 포함하는 Json을 역 직렬화 할 수 없습니다.

분류에서Dev

여러 수준에서 동일한 개체 유형 직렬화

분류에서Dev

여러 줄 JSON을 C # 개체로 직렬화 해제

분류에서Dev

콘텐츠 유형을 따라 동적 개체 JSON으로 역 직렬화-C #

분류에서Dev

QuerySet 유형의 개체가 JSON 직렬화 가능한 Django가 아닙니다.

분류에서Dev

각 키 값에 대해 다른 개체 유형을 사용하여 JSON 파일 역 직렬화

분류에서Dev

URL에서 C #의 List <T>로 여러 Json 개체 역 직렬화

분류에서Dev

동일한 속성을 가진 두 개의 서로 다른 라이브러리-Swing

분류에서Dev

JSON.NET을 사용하여 개체의 동적 속성 이름 직렬화

분류에서Dev

하나의 클래스에서 가능한 여러 개체 이름으로 JSON 문자열 역 직렬화

분류에서Dev

C #의 XmlSerializer, 특정 특성으로 동일한 이름을 가진 여러 XmlElement로 장식 된 클래스를 역 직렬화 하시겠습니까?

분류에서Dev

여러 가능한 형식으로 속성을 읽기위한 사용자 지정 JSON 직렬화 / 역 직렬화

분류에서Dev

JSON을 C # 개체로 역 직렬화하는 데 문제가 있습니다.

분류에서Dev

JSON을 C # 개체로 역 직렬화

분류에서Dev

JSON에서 여러 개체 역 직렬화가 작동하지 않음

분류에서Dev

여러 개체의 속성을 동일한 속성 이름을 가진 단일 개체에 효율적으로 매핑하는 방법

분류에서Dev

MD5 해시 용 Python + JSON 직렬화-두 개의 동등한 객체가 정확히 동일한 문자열로 직렬화된다는 것을 어떻게 보장 할 수 있습니까?

분류에서Dev

JSON 파일을 개체 C #으로 역 직렬화

분류에서Dev

JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

분류에서Dev

List <Object> 직렬화가 여러 개체에서 작동하지 않습니다.

분류에서Dev

XML-직렬화 된 개체의 키를 사용하여 값을 가져 오는 C # 일반 메서드

분류에서Dev

JSON Newtonsoft C # 다양한 유형의 객체 목록 역 직렬화

분류에서Dev

Json.NET은 사용자 정의 getter 및 변경 불가능한 유형으로 속성을 역 직렬화하지 않습니다.

분류에서Dev

@JsonTypeInfo 및 @JsonSubTypes를 사용하여 JSON을 다형성 개체 모델로 역 직렬화하지 않습니까?

분류에서Dev

json 파일을 c # list <object>로 역 직렬화하지만 속성이 개체에 들어오지 않습니다.

분류에서Dev

Airflow DAG 직렬화 : TypeError : 'V1Pod'유형의 개체가 JSON 직렬화 가능하지 않습니다.

분류에서Dev

Intellij 플러그인 : 속성을 동일한 값을 가진 다른 접두사가있는 두 개의 사용자 지정 속성으로 대체하는 xml 파일에 대한 의도

분류에서Dev

TypeError : 유형의 개체가 JSON 직렬화 가능하지 않습니다.

Related 관련 기사

  1. 1

    여러 JSON 파일을 Powershell 개체의 배열로 읽고 속성에 대해 동일한 값을 가진 파일을 필터링합니다.

  2. 2

    jackson을 사용하여 동일한 ID를 가진 2 개의 개체를 포함하는 Json을 역 직렬화 할 수 없습니다.

  3. 3

    여러 수준에서 동일한 개체 유형 직렬화

  4. 4

    여러 줄 JSON을 C # 개체로 직렬화 해제

  5. 5

    콘텐츠 유형을 따라 동적 개체 JSON으로 역 직렬화-C #

  6. 6

    QuerySet 유형의 개체가 JSON 직렬화 가능한 Django가 아닙니다.

  7. 7

    각 키 값에 대해 다른 개체 유형을 사용하여 JSON 파일 역 직렬화

  8. 8

    URL에서 C #의 List <T>로 여러 Json 개체 역 직렬화

  9. 9

    동일한 속성을 가진 두 개의 서로 다른 라이브러리-Swing

  10. 10

    JSON.NET을 사용하여 개체의 동적 속성 이름 직렬화

  11. 11

    하나의 클래스에서 가능한 여러 개체 이름으로 JSON 문자열 역 직렬화

  12. 12

    C #의 XmlSerializer, 특정 특성으로 동일한 이름을 가진 여러 XmlElement로 장식 된 클래스를 역 직렬화 하시겠습니까?

  13. 13

    여러 가능한 형식으로 속성을 읽기위한 사용자 지정 JSON 직렬화 / 역 직렬화

  14. 14

    JSON을 C # 개체로 역 직렬화하는 데 문제가 있습니다.

  15. 15

    JSON을 C # 개체로 역 직렬화

  16. 16

    JSON에서 여러 개체 역 직렬화가 작동하지 않음

  17. 17

    여러 개체의 속성을 동일한 속성 이름을 가진 단일 개체에 효율적으로 매핑하는 방법

  18. 18

    MD5 해시 용 Python + JSON 직렬화-두 개의 동등한 객체가 정확히 동일한 문자열로 직렬화된다는 것을 어떻게 보장 할 수 있습니까?

  19. 19

    JSON 파일을 개체 C #으로 역 직렬화

  20. 20

    JSON 문자열을 C # 및 Unity의 개체로 역 직렬화

  21. 21

    List <Object> 직렬화가 여러 개체에서 작동하지 않습니다.

  22. 22

    XML-직렬화 된 개체의 키를 사용하여 값을 가져 오는 C # 일반 메서드

  23. 23

    JSON Newtonsoft C # 다양한 유형의 객체 목록 역 직렬화

  24. 24

    Json.NET은 사용자 정의 getter 및 변경 불가능한 유형으로 속성을 역 직렬화하지 않습니다.

  25. 25

    @JsonTypeInfo 및 @JsonSubTypes를 사용하여 JSON을 다형성 개체 모델로 역 직렬화하지 않습니까?

  26. 26

    json 파일을 c # list <object>로 역 직렬화하지만 속성이 개체에 들어오지 않습니다.

  27. 27

    Airflow DAG 직렬화 : TypeError : 'V1Pod'유형의 개체가 JSON 직렬화 가능하지 않습니다.

  28. 28

    Intellij 플러그인 : 속성을 동일한 값을 가진 다른 접두사가있는 두 개의 사용자 지정 속성으로 대체하는 xml 파일에 대한 의도

  29. 29

    TypeError : 유형의 개체가 JSON 직렬화 가능하지 않습니다.

뜨겁다태그

보관