Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.08.2015, 20:17

C# "Self referenced Loop detected" JSON.NET ~ Error

Hallihallo^^

ich habe ein recht schwerwiegendes Problem und zwar:

Ich nutze JSON.NET um ein .NET Object nach JSON zu serialisieren.

Ich will folgendes Objekt serialisieren:

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Auto : IEnumerable
    {
        public int Velocity { get; set; }
        public string Number { get; set; }
        public string Color { get; set; }
        public DateTime Bought { get; set; }
        public TimeSpan Age { get; set; }        
        public double Price { get; set; }
        public int KilometerState { get; set; }
              
        public IEnumerator GetEnumerator()
        {
            yield return Velocity;
            yield return Number;
            yield return Color;
            yield return Bought;
            yield return Age;
            yield return Price;
            yield return KilometerState;
        }               
        
        public Auto()
        {

        }


Wenn ich dann JsonConvert.SerializeObject(value, params[] JsonConverter) aufrufe, gibt es eine JsonSerializationException:
"Self loop referenced detected" auf Test_Proj.Auto??

Auto, hat doch nirgends eine Referenz auf sich selbst?? oder übersehe ich da stark etwas?? ?( :thinking:

Wäre euch ehct super dankbar, ich komme einfach nicht weiter, ich sitze seit 4 tagen an dem Fehler und ich peile es einfach nicht :( wenn es ein banaler Fehler ist, dann ...... naja^^

Mfg

JP

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

10.08.2015, 17:50

Unabhängig von dem Fehler sehe ich den Sinn darin nicht, ein Auto enumerable zu machen. Ein Auto ist doch keine Auflistung von Eigenschaften.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

10.08.2015, 18:04

Das Thema hatten wir vor einiger Zeit schon in einem anderen Thread. Weiß nicht mehr wer es war, aber irgendwer hatte vorgeschlagen allen Klassen solch eine Methode zu geben, was natürlich ziemlicher Käse ist.
Kommt der Fehler denn wirklich genau an diesem Punkt? Zeig vielleicht noch mal die genaue Zeile in welcher dein Fehler auftritt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

10.08.2015, 18:06

Das Thema hatten wir vor einiger Zeit schon in einem anderen Thread. Weiß nicht mehr wer es war, aber irgendwer hatte vorgeschlagen allen Klassen solch eine Methode zu geben, was natürlich ziemlicher Käse ist.


Das war sogar JungleProgger: [C#] Auf "normale" Klassen IEnumerable? VS Reflection?

5

10.08.2015, 21:26

also, das mit dem Auto war nur ein Beispiel um zu Zeigen, das er Collections nicht serialisieren kann. Bitte nicht länger aufhalten damit!!

Er sagt: JsonSerializationExcepotion: "Cannot create and populate list"

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

10.08.2015, 21:53

also, das mit dem Auto war nur ein Beispiel um zu Zeigen, das er Collections nicht serialisieren kann.

Bist du da sicher? Hast du mal versucht eine normale List zu serialisieren?

7

10.08.2015, 21:54

@David

sry, das war quatsch ....

natürlich kann er normale Typen, die IEnumerable implementieren serialisieren, nur Custom_IEnumerables irgendwie nicht?!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

10.08.2015, 22:11

Wie denn auch, er kennt ja den Typ nicht. Du lieferst da alle möglichen verschiedenen Datentypen, das wird kaum klappen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

9

11.08.2015, 00:20

Auch wenn das Auto in dem Fall nur ein Beispiel war, trifft die gleiche Aussage auch auf andere Typen zu: Ein Auto ist nicht einfach nur eine Auflistung von Werten. Das heißt auch, dass ein Auto nicht in ein [0, "1", "red", "01.01.1990", 36000, 10000, 576432], sondern eher in ein {"Velocity": 0, "Number": "1", "Color": "red", "Bought": "01.01.1990", "Age": 36000, "Price": 10000, "KilometerState": 576432} serialisiert werden.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige