Как использовать классы, созданные Quicktype Json C#, для десериализации файла JSONC#

Место общения программистов C#
Ответить
Anonymous
 Как использовать классы, созданные Quicktype Json C#, для десериализации файла JSON

Сообщение Anonymous »

У меня очень большой файл Json (невозможно поделиться)
Я использую https://quicktype.io/csharp/ для создания класса C# из этого файла JSON

Это дает мне класс, который выглядит следующим образом:

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QuickType
{
using System;
using System.Collections.Generic;

using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

public partial class Tem
{
[JsonProperty("Cal")]
public Cal Cal_ { get; set; }
}

public partial class Cal
{
[JsonProperty("Cam")]
public Camera[] Cam_ { get; set; }

[JsonProperty("Dis")]
public Dis[] Dis_ { get; set; }

[JsonProperty("Eye")]
public Eye[] Eye_ { get; set; }

[JsonProperty("Ine")]
public Ine[] Ine_ { get; set; }

[JsonProperty("Metadata")]
public Metadata Metadata_ { get; set; }

[JsonProperty("Tem")]
public Tem Tem_ { get; set; }
}
//...There are a lot more
}
Кроме того, у него есть несколько встроенных внутренних классов.

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

internal static class Converter
{
public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters =
{
ShutterConverter.Singleton,
AssignedEyeConverter.Singleton,
LocationConverter.Singleton,
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};
}
Не знаю, что с ними делать.

Я пытался десериализовать таким образом, но это не сработало, все значения были нулевыми.

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

 using (StreamReader r = new StreamReader(file path))
{
string json = r.ReadToEnd();

QuickType.Cal test = Newtonsoft.Json.JsonConvert.DeserializeObject(json);

}
Я знаю, что путь к файлу правильный и строка json содержит файл json. Но я не знаю, как мне преобразовать Json.net в этот сгенерированный Json класс

Спасибо,

Подробнее здесь: https://stackoverflow.com/questions/578 ... -json-file
Ответить

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

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

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

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

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