Ich habe eine Zeichenfolge wie < /p>
string jsonString = """
{
"Product": "abc",
"Price": 100
}
""";
< /code>
und Ich konvertieren es mithilfe von < /p>
in JsonObject.
Code: Select all
JsonObject jsonToProduce = JsonSerializer.Deserialize(jsonString);
< /code>
und ich möchte das obige jsonObject in Couchbase einfügen. Ich habe < /p>
geschriebenawait collection.UpsertAsync("1", jsonToProduce);
< /code>
Es ist ein Fehler aufgetreten, der < /p>
Newtonsoft.json.JsonSerializationException: 'Self Reference -Schleife für Eigenschaften' übergeordnetes 'mit' Eltern 'mit entdecktem Eigenschaft erkannt wurde Typ 'System.text.json.nodes.jsonObject'. Pfad 'Produkt'. '< /P>
< /blockquote>
Ich habe einen Beitrag gesehen, den man möglicherweise die Option von JsonSerializer wie < /p>
konfigurieren mussvar options = new JsonSerializerOptions
{
ReferenceHandler = ReferenceHandler.Preserve
};
Arbeiten Sie für mich, der gleiche Fehler ist aufgetreten. Und ich benutze das Paket, das system.text.json; anstelle von newtonsoft verwendet, aber ich denke nicht, dass dies ein Problem ist.
natürlich zum Einfügen/ Ein Dokument zu Couchbase, ein Weg, dies zu tun, ist wie < /p>
Code: Select all
var something = new { Product = "abc", Price = 1 };
< /code>
und dann < /p>
await collection.UpsertAsync("1", something);
< /code>
Dies funktioniert sicherlich, aber manchmal ist dies für mich nicht praktisch, da ich ein JSONObject zum Arbeiten habe. Es ist mir nicht möglich, alle "Schlüssel" und "Werte" aus dem jsonObject aufzuschreiben. />await collection.UpsertAsync("1", jsonString);
< /code>
Das resultierende Dokument in Couchbase sieht so aus < /p>
"{\r\n \"Product\": \"abc\",\r\n \"Price\": 100\r\n}"