ERRO DURANTE A SERIALIZAÇÃO OU DESSERIALIZAÇÃO

ALVAROVB2009 15/02/2024 15:45:59
#503057
Pessoal estou tentando ler um arquivo json com mais de 1 milhão de linhas, criei uma classe

Criei um projeto teste, apenas com o console

using System;
using System.Collections.Generic;
using System.IO;
using System.Web.Script.Serialization;

static void LerArquivoJson(string arquivo)
{
JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
using (StreamReader r = new StreamReader(arquivo))
{
string json = r.ReadToEnd();

Essa linha é que da o problema
dynamic array = serializer.DeserializeObject(json);

Console.WriteLine("");
Console.WriteLine(serializer.Serialize(array));
Console.WriteLine("");
Console.ReadKey();
}
}

Esse é o erro completo

System.ArgumentException
HResult=0x80070057
Message=Erro durante a serialização ou desserialização usando JSON JavaScriptSerializer. O tamanho da cadeia de caracteres ultrapassa o valor definido na propriedade maxJsonLength.
Parameter name: input
Source=System.Web.Extensions
StackTrace:
em System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)
em System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input)
em CSharp_Json.Program.LerArquivoJson(String arquivo) em C:\PROJETOS\C#\Sistema\CSharp_Json\CSharp_Json\Program.cs:linha 41
em CSharp_Json.Program.Main(String[] args) em C:\PROJETOS\C#\Sistema\CSharp_Json\CSharp_Json\Program.cs:linha 12


Queria saber onde posso subir a quantidade , estava tentando achar alguma informação na net e não achei, o que andei vendo foi em Java


Desde já agradeço a todos
KERPLUNK 15/02/2024 16:52:37
#503059
Resposta escolhida
Antes de serializar, tente colocar isso:

serializer.MaxJsonLength = Int32.MaxValue;


ALVAROVB2009 15/02/2024 17:15:22
#503060
Alterado em 15/02/2024 17:19:58 Kerplunk agradeço o retorno,
Não deu o erro anterior, más sim um erro de exceção sem tratamento e mais nada e na mesma linha




KERPLUNK 15/02/2024 17:34:29
#503061
O arquivo pode não estar em um formato JSON correto ou o objeto destino não suporta.

Porque você simplesmente não cria as classes à partir do arquivo ao invés de um treco dinâmico que não é tipado?
ALVAROVB2009 29/02/2024 09:04:47
#503132
Kerplank acabei fazendo isso mesmo, não sei pq o site não exportou o arquivo em Json, sendo que a opção de exportação era Json, deve ser um erro por parte deles e como o arquivo era enorme, não consegui ver toda a estrutura.
Depois consegui achar um software que abre arquivo grandes, e consegui ver da forma que os dados estavam dispostos e montei um esquema para ler o arquivo linha a linha, porque realmente não estava Json correto
Tópico encerrado , respostas não são mais permitidas