Код: Выделить всё
string jsonString = """
{
"Product": "abc",
"Price": 100
}
""";
< /code>
И я преобразую его в jsonobject с помощью < /p>
JsonObject jsonToProduce = JsonSerializer.Deserialize(jsonString);
< /code>
И я хочу вставить вышеупомянутый jsonObject в Couchbase. Я написал < /p>
await collection.UpsertAsync("1", jsonToProduce);
< /code>
Произошла ошибка, что < /p>
newtonsoft.json.jsonserializationexception: «Цикл самооценки, обнаруженная для собственности« Родитель » type 'System.text.json.nodes.jsonObject'. PATH 'Product'. '< /P>
< /blockquote>
Я увидел какой -то пост, который может потребоваться настроить опцию Jsonserializer, например < /p>
var options = new JsonSerializerOptions
{
ReferenceHandler = ReferenceHandler.Preserve
};
В любом случае, оба нет. Работа для меня, такая же ошибка произошла. И я использую пакет, использующий System.text.json; , а не Newtonsoft, но я не думаю, что это проблема.
Конечно, для вставки/ Повышение документа в Couchbase, способ сделать это, как < /p>
Код: Выделить всё
var something = new { Product = "abc", Price = 1 };
< /code>
, а затем < /p>
await collection.UpsertAsync("1", something);
< /code>
Это, несомненно, будет работать, но иногда это не практично для меня, так как у меня будет какой -нибудь jsonObject для работы. Мне невозможно написать все «клавиши» и «значения» из jsonObject. />await collection.UpsertAsync("1", jsonString);
< /code>
Полученный документ в Couchbase будет выглядеть так < /p>
"{\r\n \"Product\": \"abc\",\r\n \"Price\": 100\r\n}"
Подробнее здесь: https://stackoverflow.com/questions/794 ... jsonobject
Мобильная версия