Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

374
Views
Leer/Escribir JSON usando System.Text.Json

Estamos usando NewtwonSoft.json actualmente, pero necesitamos pasar a System.Text.JSON por razones de seguridad.

Entonces, somos nuevos en System.Text.JSON y tenemos problemas para leer el siguiente archivo JSON.

Idealmente, nos gustaría leer y eventualmente colocar cada registro en una fila separada en una cuadrícula con la ID, el nombre y el ID del tipo de contrato como columnas A, B y C. Prefiero VB.net, pero buscar en Google nos ha llevado a creer que VB.net no es compatible. mucho en System.Text.JSON. Entonces C # funcionará. Agradecemos cualquier comentario que nos ayude a continuar. Hemos intentado usar un proyecto C# de práctica pero obtenemos un error:

"System.Text.Json.JsonReaderException: '' 0xEF ' es un inicio no válido de un valor. LineNumber: 0 | BytePositionInLine: 0". en la línea Reader.Read.

 var fileName = @"D:\MyFile.json"; byte[] data = System.IO.File.ReadAllBytes(fileName); Utf8JsonReader reader = new Utf8JsonReader(data); while (reader.Read())
 [ { "ID": "001", "Name": "INT SYS CO", "ContractTypeID": "CPAF" }, { "ID": "002", "Name": "PLT", "ContractTypeID": "CPFF" }, { "ID": "003", "Name": "SBAND", "ContractTypeID": "CPIF" }, { "ID": "004", "Name": "SE", "ContractTypeID": "CPIF_PI" }, { "ID": "005", "Name": "SPE", "ContractTypeID": "FFP" } ]
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Obviamente, el archivo se guarda en codificación UTF-8 con BOM.

Si el archivo contiene una marca de orden de bytes UTF-8, elimínela antes de pasar los bytes a Utf8JsonReader.

 ReadOnlySpan<byte> data = File.ReadAllBytes(fileName); ReadOnlySpan<byte> utf8Bom = new byte[] { 0xEF, 0xBB, 0xBF }; if (data.StartsWith(utf8Bom)) { data = data.Slice(utf8Bom.Length); } Utf8JsonReader reader = new Utf8JsonReader(data);

Ver más en la documentación .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!