EKEventを格納する単純なリストを直列化しようとすると、EKEventを使用したリストをXamarin.iOSのJSONにシリアル化する
Newtonsoft.Json.JsonSerializationException: Self referencing loop detected for property 'Self' with type 'Foundation.NSDate'. Path '[0].EndDate'. at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CheckForCircularReference (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x00105] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter. CalculatePropertyValues (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonContainerContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.Serialization.JsonContract& memberContract, System.Object& memberValue) [0x000c7] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract collectionContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x0003c] in :0
これはJsonConvert.SerializeObjectメソッドを使用しようとしたときに発生します。 EKEventリストをシリアル化するための回避策はありますか?
EDIT
JsonSerializerSettingsの作品を使用して!
Newtonsoft.Json.JsonSerializationException:タイプEventKit.EKEventに使用するコンストラクタが見つかりません私は、オブジェクトをDeserialiseしようとすると、
はしかし、私は別の問題を取得します。 @ クラスにはデフォルトのコンストラクタ、つまり の引数を持つ1つのコンストラクタか、またはJsonConstructor属性でマークされたコンストラクタが必要です。 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateNewObject (Newtonsoft.Json.JsonReaderリーダ、Newtonsoft.Json.Serialization.JsonObjectContract objectContract、 Newtonsoft.Jsonでパス '[0] .ClassHandle'、行1、位置16 。 Serialization.JsonProperty containerMember、 Newtonsoft.Json.Serialization.JsonProperty containerProperty、 可能System.String IDを、可能System.Boolean & [0x000d6]でcreatedFromNonDefaultCreator):Newtonsoft.Json.Serialization.JsonSerializerInternalReaderで0 。 CreateObject(Newtonsoft.Json.JsonReaderリーダー、System.Type objectType、Newtonsoft.Json.Serialization.JsonContractコントラクト、Newtonsoft.Json.Serialization.JsonPropertyメンバ、Newtonsoft.Json.Serialization.JsonContainerContract containerContract、Newtonsoft.Json.Serialization.JsonProperty containerMember 、System.Object existingValue)[0x0013b]:0 、Newtonsoft.Json.Serialization.JsonSerializerInternalReader。 CreateValueInternal(Newtonsoft.Json.JsonReaderリーダ、System.TypeをobjectTypeに 、Newtonsoft.Json.Serialization.JsonContract契約、Newtonsoft.Json.Serialization.JsonProperty部材、 Newtonsoft.Json.Serialization.JsonContainerContract containerContract、Newtonsoft.Json.Serialization。 JsonProperty containerMember、System.Object existingValue)[0x0006d] in:0 、Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IListリスト、 Newtonsoft.Json.JsonReaderリーダー、Newtonsoft.Json.Serialization.JsonArrayContractコントラクト、 Newtonsoft.Json .Serialization.JsonProperty containerProperty、System.String id)[0x000cb] in:0
ありがとうございます!シリアライザの問題を解決しました。しかし、Deserialiseにしようとすると、別の問題が発生します。これを私の質問に追加します。 –
@ Khiem-KimHoXuan:おそらく新しい質問でそれを聞いてください。 – Giorgi
@ Khiem-KimHoXuanリンクされた設定は何ですか?それはすべてのアセンブリをリンクしていますか? – Sreeraj