Encontramos caracteres adicionales al final de la entrada JSON.

Un usuario Pregunto ✅

intravista

Obteniendo este error al hacer un «desde la web»

Detalles: «Encontramos caracteres adicionales al final de la entrada JSON».

Cuando envío el JSON a un validador, dice que está bien. ¿Cómo puedo obtener detalles más específicos sobre por qué se está quejando? No hay más detalles en el archivo de seguimiento.

scotttaft

Esto podría no ayudar a todos, pero pensé en compartir:

Envolví mi código JSON entre paréntesis ([…]) Y funcionó.

Estaba recibiendo este error y no pude encontrar una solución. Mi JSON fue formateado como el siguiente:

{«nombre»:»valor»…},

{«nombre»:»valor»…}

y PBI siguió lanzando este error. Acabo de agregar corchetes y funcionó de la siguiente manera:

[

{«name»:»value»…},

{«name»:»value»…}

]

AnalistaPoder

¿Sigues teniendo problemas con esto? Pude encontrar una solución. En mi ejemplo, mi código JSON solo necesitaba ser reformateado de líneas JSON a formato JSON regular y PBI lo manejó bien después.

merico

Hola, cuando quiero actualizar mi consulta de PowerBI recibo el siguiente mensaje de error. ¿Me podría ayudar?

Gracias.

1.JPG

Evogelpohl

En respuesta a merico

Problema continuo con datos de IoT transmitidos al almacén de blobs de Azure (luego obtiene «encontramos más…») al intentar combinar archivos JSON en PowerBI.

Así es como lo resolví. Funciona bien para mí ahora.

1) No use la función Combinar (doble flecha que le da el error). En su lugar, realice una consulta que entrene un patrón en uno de sus archivos json. Para hacer esto, simplemente haga una nueva consulta contra su fuente:

– Elija el primer archivo Json

– Haga clic en el binario

– Debería ver un icono de archivo, haga clic derecho y «convertir a TXT»

– Ahora debería ver una sola columna, con datos JSON <- pero suavizado todo en una columna.

– Convierta esa columna a JSON (haga clic con el botón derecho en col, convertir, JSON)

– Ahora tiene un buen patrón de exportación de archivos que puede usar como función para todos los demás.

– Ahora, edite esta consulta en el editor avanzado e incluya la declaración ‘let’ que convierte esta consulta en una función (la mía está a continuación)

– Reemplace el nombre del archivo de ejemplo con la variable que creó.

– Haga clic en Aceptar y pruébelo: ingrese una ruta completa a su archivo JSON y vea si puede invocarlo correctamente.

– Si funciona -> ahora cree otra consulta y obtenga todos sus archivos JSON. Use «agregar columna» -> «invocar función personalizada» y complete el nombre de su función y haga clic en la ruta del archivo como fuente de la función.

– Ejecutará su función una y otra vez – para cada archivo y los agregará.

Aquí está mi código de función:

let
    FxFixJson = (jsonfilepathname as text) =>
let
    Source = AzureStorage.Blobs("https://MYBLOBSTOREACCT.blob.core.windows.net/"),
    #"Expanded Data" = Table.ExpandTableColumn(Source, "Data", {"Content", "Name"}, {"Data.Content", "Data.Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Data", each ([Data.Name] = jsonfilepathname)),
    #"Data Content" = #"Filtered Rows"{0}[Data.Content],
    #"Imported Text" = Table.FromColumns({Lines.FromBinary(#"Data Content",null,null,1252)}),
    #"Parsed JSON" = Table.TransformColumns(#"Imported Text",{},Json.Document),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Parsed JSON", "Column1", {"deviceId", "messageId", "temperature", "humidity", "EventProcessedUtcTime", "PartitionId", "EventEnqueuedUtcTime", "IoTHub"}, {"deviceId", "messageId", "temperature", "humidity", "EventProcessedUtcTime", "PartitionId", "EventEnqueuedUtcTime", "IoTHub"})
in
    #"Expanded Column1"
in
    FxFixJson

sherinmirza

En respuesta a Evogelpohl

Gracias por su respuesta.

El siguiente ejemplo me ayudó a corregir el error, pero solo funcionó para un registro.

Cuando traté de aplicar la función FxFixJson, estoy confundido con lo que debería ser (jsonfilepathname como texto).

dejar
Fuente = AzureStorage.Blobs(«XXXX»),
wrfm1 = Fuente{[Name=»XXXX»]}[Data],
#»Datos ampliados» = Table.ExpandTableColumn(Source, «Data», {«Content», «Folder Path», «Name»}, {«Data.Content», «Data.Folder Path», «Data.Name» }),
#»Contenido de datos» = #»Datos ampliados»{0}[Data.Content],
#»Texto importado» = Table.FromColumns({Lines.FromBinary(#»Contenido de datos»,null,null,1252)}),
#»JSON analizado» = Table.TransformColumns(#»Texto importado»,{},Json.Document),
#»Columna1 expandida» = Table.ExpandRecordColumn(#»JSON analizado», «Columna1», {«basicException», «internal», «context»}, {«Column1.basicException», «Column1.internal», «Column1. contexto»}),
#»Columna1 expandida.interna» = Table.ExpandRecordColumn(#»Columna1 expandida», «Columna1.interna», {«datos»}, {«interna.datos»}),
#»Columna1 expandida.contexto» = Table.ExpandRecordColumn(#»Columna1 expandida.interna», «Columna1.contexto», {«aplicación», «datos», «dispositivo», «usuario», «sesión», «operación» , «ubicación», «personalizado»}, {«contexto.aplicación», «contexto.datos», «contexto.dispositivo», «contexto.usuario», «contexto.sesión», «contexto.operación», «contexto. ubicación», «contexto.personalizado»})
en
#»Columna1 Expandida.contexto»

Anónimo

En respuesta a sherinmirza

Hola

Solo quiero enfatizar que los desarrolladores resuelvan esto

Obtengo este problema independientemente de tres fuentes de archivos JSON

Debe ser algo que se pueda arreglar para todos en el análisis proporcionado de JSON en PBI

HendrixEspíritu

Tengo el mismo problema al cargar JSON desde la carpeta. Hacerlo la primera vez funciona bien, pero al actualizar, aparece «Encontramos caracteres adicionales al final de JSON INPUT.

Corrija este error antiguo de 2016

asedio

Pude ingresar una consulta avanzada para resolver mi problema.

Tuve que reemplazar los retornos de carro con comas y rodear todo con un corchete para formar un documento json válido.

dejar
Fuente = DataLake.Contents(«https://ALGO AQUÍ.azuredatalakestore.net»),
TwitterData = Fuente{[Name=»TwitterData»]}[Content],
#»TwitterStream-Output_0_9999 json» = Texto.Reemplazar(Texto.Combinar({«[«, Text.FromBinary(TwitterData{[Name=»TwitterStream-Output_0_9999.json»]}[Content]), «]» }), «#(cr)», «,»),
#»JSON importado» = Json.Documento(#»TwitterStream-Output_0_9999 json»,1252),
#»JSON1 importado» = #»JSON importado»{0}
en
#»JSON1 importado»

yssant

esto tiene solucion? tengo el mismo error

skaranam

En respuesta a yssant

¿Alguien tiene solución a esto.

Anónimo

En respuesta a skaranam

Estoy atascado con el mismo problema. Estoy tratando de crear un conector personalizado de Power BI, y ni siquiera estoy seguro de que se ejecute la solicitud de Web.Contents, ya que intenté insertar el json como una cadena en Power Query y eso funciona, pero si Coloco la misma cadena que un archivo json en App Service o como Blob falla. Estoy varado con una opción sobre cómo rastrear/depurar lo que realmente sucede.

En mi caso, funciona muy bien en Power BI Desktop, pero por alguna razón no puedo hacer que se ejecute en Visual Studio para el proyecto de conector personalizado.

Cualquier idea y comentario es bienvenido, ya que espero que esto sea un simple error o una mala configuración de mi parte, más que un error en el SDK.

Brian

sherinmirza

En respuesta a Anónimo

Recibo el mismo error al importar archivos Azure BLOB (creados por Application Insights y almacenados en Azure Blob Storage) en powerbi y transformar JSON. ¡Por favor ayuda!

skaranam

En respuesta a sherinmirza

No tengo una solución exacta para esto, pero me enfrenté al mismo problema. Luego envié un correo electrónico al equipo donde se genera el script JSON y lo arreglaron de su lado.

sherinmirza

En respuesta a skaranam

Gracias por su respuesta.

Habilité la exportación continua de datos de Application Insights a Azure Blob Storage, que está completamente administrado por Microsoft. Así que no tengo control sobre cómo arreglar el script JSON. ¿Hay algo que podamos hacer al importar blobs y combinar archivos y analizar JSON?

yssant

esto tiene solucion?

DolEgon22

Sin embargo, esto no es exclusivo de Power BI; parece que esto también se reproduce cuando Excel se conecta a los blobs creados a partir del análisis de flujo. Parece que mientras otros servicios pueden analizar el JSON de ASA, PBI y Power Query no pueden.

Mis pasos de solución de problemas:

  • Usando una muestra de 2 líneas de uno de los archivos JSON, lo ejecuto a través de un analizador y obtengo errores del analizador (esperando ‘EOF’)
  • Cuando envuelvo el JSON entre corchetes y separo las líneas con una coma, se analiza bien
  • Descargué uno de los archivos JSON e hice 2 copias del mismo. Luego edité uno para tener los corchetes y el delimitador de coma y dejé el otro solo. No pude cargar el JSON sin editar en PBI, pero no tuve ningún problema con el que edité.

Esto parece ser un problema con la forma en que Power Query analiza JSON de ASA.

DolEgon22

En respuesta a DolEgon22

Solo una nota al margen: mis pasos anteriores no resuelven nuestro problema de conectarnos a Azure Blob Storage usando PBI y analizar automáticamente el JSON almacenado allí… mis pasos simplemente revelan el problema en PBI/Power Query.

sasmpu00

El mismo problema está aquí. la misma salida de URL (KSON) guardada en texto y funciona poco mientras se coloca directamente, luego no funciona.

Basjuh84

¿Todavía no hay una solución definitiva para este problema? Quiero leer varios archivos JSON de una carpeta. Los archivos JSON individuales funcionan bien, pero leerlos todos desde una carpeta me da el mismo error.

BNajlis

Encontré el mismo problema al intentar cargar un archivo JSONL (http://jsonlines.org/). Para resolverlo, terminé importándolo como un archivo de texto (que toma un registro por línea) y luego usé la función Parse en PowerQuery para analizar el JSON en cada línea.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *