UpdateAsync не поддерживает jsonObjectC#

Место общения программистов C#
Ответить
Anonymous
 UpdateAsync не поддерживает jsonObject

Сообщение Anonymous »

Я использую C# Couchbase SDK. И я столкнулся с некоторой панической ситуацией следующим образом.

Код: Выделить всё

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
};
или с referencehandler = referencehandler.ignorecycles вместо 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}"
Хитрое то, что, если я отправлю непосредственно JSonstring kafka в качестве сообщения, это хорошо, нет такого \ r \ n вещи и не Дополнительные «существуют там.

Подробнее здесь: https://stackoverflow.com/questions/794 ... jsonobject
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»