Как я могу использовать JSON.NET для десериализации во вложенный / рекурсивный словарь и список?

Мне нужно десериализовать сложный BLOB-объект JSON в стандартные контейнеры .NET для использования в коде, который не знает о JSON . Он ожидает, что вещи будут в стандартных типах .NET, в частности Dictionary<string, object> или List<object>, где «объект» может быть примитивным или рекурсивным (словарь или список).

Я не могу использовать статический тип для отображения результатов, а JObject / JToken не подходит. В идеале был бы какой-то способ (возможно, через Contracts?) Преобразовать необработанный JSON в базовые контейнеры .NET.

Я во всем искал способ заставить десериализатор JSON.NET создать эти простые типы, когда он встречает «{}» или «[]», но с небольшим успехом.

Любая помощь приветствуется!

42
задан Brian Rogers 27 December 2018 в 21:53
поделиться