newtonsoft JSON deseralizer를 사용하여 Geopoint를 어떻게 역 직렬화합니까?

윌리엄 멜튼

다음 클래스를 사용하여 고객 위치 데이터를 저장하고 있습니다.

  public class CustomerData
{
    public string CustomerName { get; set; }
    public int CustomerNumber { get; set; }
    public string CustomerAddress { get; set; }
    public string CustomerCity { get; set; }
    public string CustomerZip { get; set; }
    public string CustomerState { get; set; }
    public Geopoint CustomerGeopoint { get; set; }

}

JSON 파일 내부에 ... 그리고 다음과 같은 서비스를 사용하여 데이터를 검색합니다.

public static async Task<ObservableCollection<CustomerData>> GetCustomerData()
    {
        var folder = ApplicationData.Current.LocalFolder;
        var dataFile = await folder.TryGetItemAsync("CustomerData.json") as IStorageFile;
        var stringResult = await FileIO.ReadTextAsync(dataFile);

        ObservableCollection<CustomerData> CustomersRetrievedData = JsonConvert.DeserializeObject<ObservableCollection<CustomerData>>(stringResult, new JsonSerializerSettings
        {
            TypeNameHandling = TypeNameHandling.All
        });
        Customers = CustomersRetrievedData;
        return await Task.FromResult(CustomersRetrievedData);
    }

다음과 같이 데이터를 저장합니다.

       public static async void SaveCustomerData()
    {
        var folder = ApplicationData.Current.LocalFolder;
        StorageFile newFile = await folder.CreateFileAsync("CustomerData.json", CreationCollisionOption.ReplaceExisting);
        var stringData = JsonConvert.SerializeObject(Customers);
        await FileIO.WriteTextAsync(newFile, stringData);

    }

내 문제는 모든 geopoint 데이터가 거기에있는 후 GetCustomerData () 메서드에서 데이터를 역 직렬화하여 데이터를 읽으려고하면 다음 오류가 발생한다는 것입니다.

유형에 사용할 생성자를 찾을 수 없습니다 Windows.Devices.Geolocation.Geopoint. 클래스에는 기본 생성자, 인수가있는 생성자 또는 JsonConstructor 속성으로 표시된 생성자가 있어야합니다.

나는 이것을 고치는 방법을 이해하지 못하고 newtonsoft 문서에서 아무것도 찾을 수 없습니다. 누구든지 이것이 어떻게 수행되는지 알고 있습니까?

샘 액스

에 대한 문서를 살펴보면 Geopoint3 개의 .ctor가 있다는 것을 알 수 있습니다. JSON.NET에는 오류 메시지에서 볼 수 있듯이 역 직렬화를 위해 매개 변수가없는 .ctor가 필요합니다.

따라서 할 수있는 한 가지는 Geopoint구조 를 미러링하는 (모든 속성 포함 ) 유형 (사용자가 만든)의 속성을 포함하도록 클래스를 변경 하지만 매개 변수없는 .ctor도 포함하는 것입니다. 필요한 IGeoshape곳 어디에서나 사용할 수 있도록 구현할 수도 있습니다 IGeoshape.

라인을 따라 뭔가 :

public class GeopointProxy : IGeoshape {
    public GeopointProxy() { }

    private AltitudeReferenceSystem _altitudeReferenceSystem;
    // This is part of the IGeoshape interface, you can't change it's signature, and it's readonly.  Fun.
    [JsonIgnore]
    public AltitudeReferenceSystem AltitudeReferenceSystem { get { return _altitudeReferenceSystem; } }  

    public AltitudeReferenceSystem SettableAltitudeReferenceSystem {
        get {
            return AltitudeReferenceSystem;
        }
        set {
            _altitudeReferenceSystem = value;
        }
    }

    // rinse and repeat as appropriate for the other interface members and class properties

    // Then include a conversion function, or get fancy and add type conversion operators:
    public Geopoint ToGeopoint() {
        return new Geopoint(Position, AltitudeReferenceSystem, SpatialReferenceId);
    }
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Json.net을 사용하여 Vb.net에서 JSON 객체를 어떻게 역 직렬화합니까?

분류에서Dev

C #을 사용하여 JSON 데이터를 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

Newtonsoft.Json을 사용하여 SerializationBinder와 CustomResolver를 함께 사용하여 추상 / 인터페이스 유형을 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

Json 객체를 어떻게 역 직렬화합니까?

분류에서Dev

Newtonsoft.Json으로 직렬화 할 때 들여 쓰기 깊이를 어떻게 제한합니까?

분류에서Dev

C # Newtonsoft를 사용하여 JSON 파일을 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

restsharp를 사용하여이 JSON 형식을 어떻게 역 직렬화 할 수 있습니까? (씨#)

분류에서Dev

C #에서 Newtonsoft를 사용하여 중첩 된 JSON 개체의 역 직렬화

분류에서Dev

Newtonsoft.Json "추가"를 사용하여 컬렉션 역 직렬화

분류에서Dev

추상 클래스를 사용하여 JSON 데이터 배열을 POJO로 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

잘못된 JSON의 역 직렬화 중에 예외를 무시하려면 어떻게합니까?

분류에서Dev

CSV를 올바르게 직렬화 및 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

개체 트리를 DTO로 역 직렬화하려면 어떻게합니까?

분류에서Dev

Json.net을 사용하여 한 필드의 Json 직렬화를 어떻게 수정합니까?

분류에서Dev

C # Newtonsoft.json을 사용하여 단 하나의 속성 (루트를 찾을 수 없음)에 대한 Json 응답을 역 직렬화합니다.

분류에서Dev

XStream을 사용하여 형식 계층에서 개체를 직렬화 / 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

JSON 객체 직렬화를 어떻게 사용자 정의합니까?

분류에서Dev

독자의 참조로 구조체를 역 직렬화하기 위해 Serde를 어떻게 사용합니까?

분류에서Dev

Newtonsoft를 사용하여 json 문자열을 json 배열로 변환하려면 어떻게해야합니까?

분류에서Dev

처음으로 NewtonSoft (JsonConvert.DeserializeObject <> ()를 사용하여 JSON 대 System.Text.Json (JsonSerializer.Deserialize <> () 역 직렬화)

분류에서Dev

Newtonsoft를 사용하여 단일 문자열 또는 jarray 일 수있는 경우 JSON 속성을 역 직렬화합니다.

분류에서Dev

KSQLDB 쿼리의 행에서 protobuf 역 직렬화를 사용하려면 어떻게해야합니까?

분류에서Dev

Circe의 수동 디코더를 사용하여 고정되지 않은 json 배열을 어떻게 역 직렬화 할 수 있습니까?

분류에서Dev

C #에서 Newtonsoft를 사용하여 Json에서 중첩 된 개체의 효율적인 수동 역 직렬화

분류에서Dev

JSON이 날짜를 속성 이름으로 사용하는 경우 GSON을 사용하여 JSON을 Java 개체로 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

분류에서Dev

XmlSerializer를 사용하여 이기종 자식 노드를 컬렉션으로 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

이 개체를 올바르게 역 직렬화하려면 어떻게해야합니까?

분류에서Dev

serde를 사용하여 특정 열거 형 변형으로 역 직렬화하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Json.net을 사용하여 Vb.net에서 JSON 객체를 어떻게 역 직렬화합니까?

  2. 2

    C #을 사용하여 JSON 데이터를 역 직렬화하려면 어떻게해야합니까?

  3. 3

    Newtonsoft.Json을 사용하여 SerializationBinder와 CustomResolver를 함께 사용하여 추상 / 인터페이스 유형을 역 직렬화하려면 어떻게해야합니까?

  4. 4

    Json 객체를 어떻게 역 직렬화합니까?

  5. 5

    Newtonsoft.Json으로 직렬화 할 때 들여 쓰기 깊이를 어떻게 제한합니까?

  6. 6

    C # Newtonsoft를 사용하여 JSON 파일을 역 직렬화하는 방법은 무엇입니까?

  7. 7

    restsharp를 사용하여이 JSON 형식을 어떻게 역 직렬화 할 수 있습니까? (씨#)

  8. 8

    C #에서 Newtonsoft를 사용하여 중첩 된 JSON 개체의 역 직렬화

  9. 9

    Newtonsoft.Json "추가"를 사용하여 컬렉션 역 직렬화

  10. 10

    추상 클래스를 사용하여 JSON 데이터 배열을 POJO로 역 직렬화하려면 어떻게해야합니까?

  11. 11

    잘못된 JSON의 역 직렬화 중에 예외를 무시하려면 어떻게합니까?

  12. 12

    CSV를 올바르게 직렬화 및 역 직렬화하려면 어떻게해야합니까?

  13. 13

    개체 트리를 DTO로 역 직렬화하려면 어떻게합니까?

  14. 14

    Json.net을 사용하여 한 필드의 Json 직렬화를 어떻게 수정합니까?

  15. 15

    C # Newtonsoft.json을 사용하여 단 하나의 속성 (루트를 찾을 수 없음)에 대한 Json 응답을 역 직렬화합니다.

  16. 16

    XStream을 사용하여 형식 계층에서 개체를 직렬화 / 역 직렬화하려면 어떻게해야합니까?

  17. 17

    JSON 객체 직렬화를 어떻게 사용자 정의합니까?

  18. 18

    독자의 참조로 구조체를 역 직렬화하기 위해 Serde를 어떻게 사용합니까?

  19. 19

    Newtonsoft를 사용하여 json 문자열을 json 배열로 변환하려면 어떻게해야합니까?

  20. 20

    처음으로 NewtonSoft (JsonConvert.DeserializeObject <> ()를 사용하여 JSON 대 System.Text.Json (JsonSerializer.Deserialize <> () 역 직렬화)

  21. 21

    Newtonsoft를 사용하여 단일 문자열 또는 jarray 일 수있는 경우 JSON 속성을 역 직렬화합니다.

  22. 22

    KSQLDB 쿼리의 행에서 protobuf 역 직렬화를 사용하려면 어떻게해야합니까?

  23. 23

    Circe의 수동 디코더를 사용하여 고정되지 않은 json 배열을 어떻게 역 직렬화 할 수 있습니까?

  24. 24

    C #에서 Newtonsoft를 사용하여 Json에서 중첩 된 개체의 효율적인 수동 역 직렬화

  25. 25

    JSON이 날짜를 속성 이름으로 사용하는 경우 GSON을 사용하여 JSON을 Java 개체로 역 직렬화하려면 어떻게해야합니까?

  26. 26

    Newtonsoft.Json 라이브러리를 사용하여 문자열을 C #을 사용하여 사용자 지정 개체로 역 직렬화하는 방법

  27. 27

    XmlSerializer를 사용하여 이기종 자식 노드를 컬렉션으로 역 직렬화하려면 어떻게해야합니까?

  28. 28

    이 개체를 올바르게 역 직렬화하려면 어떻게해야합니까?

  29. 29

    serde를 사용하여 특정 열거 형 변형으로 역 직렬화하려면 어떻게해야합니까?

뜨겁다태그

보관