Json validando apenas para um SO (Linux valida, win n)

2 respostas
json
FearX

sup guys

Tenho uma aplicação em Java que captura uns dados do PC e envia como JSON para um server em node, que faz um parser e popula uma tabela. Testei em diversos Linux e não deu esse problema, até que chegou o bendito do Windows e ele começou a dar problema.

(Esse [Object] também é tratado no meu Node, afinal, ele consegue popular a tabela com o Linux. Ele contem outro Json dentro. A maior diferença é que no Linux ele envia um único objeto dentro, e no do Windows pode enviar mais de um. Peguei esses json e validei, tudo certo tbm…)

O Json que recebo do Linux é esse:

{ idInfo:
{ id: ‘2524’,
token: ‘mytoken’ },
cpuInfo:
{ modelo: ‘Core™ i7-7500U CPU @ 2.70GHz’,
clock: 3500,
nucleos: 4,
Uptime: ‘Uptime: 1 dias, 0 horas, 54 minutos,38 segundos.’,
usodacpu: 12.626263 },
raminfo:
{ usado: [telefone removido],
livre: [telefone removido],
total: [telefone removido],
usodaram: 59.87947 },
hddinfo: { particoes: [ [Object] ] },
netinfo:
{ gateway: ‘172.17.0.254’,
hostname: ‘Notebook’,
dominio: ‘(none)’,
ips: [ [Object], [Object] ] } }

O Json que recebo dos Windows é esse:

{ idInfo:
{ id: ‘8778’,
token: ‘mytoken’ },
cpuInfo:
{ modelo: ‘Quad-Core Processor (up to 1.4GHz)’,
clock: 998,
nucleos: 4,
Uptime: ‘Uptime: 0 dias, 0 horas, 33 minutos,49 segundos.’,
usodacpu: 5.493952 },
raminfo:
{ usado: [telefone removido],
livre: [telefone removido],
total: [telefone removido],
usodaram: 39.13953 },
hddinfo: { particoes: [ [Object] ] },
netinfo:
{ gateway: ‘0.0.0.0’,
hostname: ‘DESKTOP-GJ1MR66’,
dominio: ‘’,
ips: [ [Object] ] } }

E esse é o erro que eu recebo quando o Json do Windows bate no servidor (o do Linux registra e popula a tabela normalmente):

Error: ER_INVALID_JSON_TEXT: Invalid JSON text: Missing a comma or } after an object member. at position 33 in value for column infradmin_rt.disks.

at Query.Sequence._packetToError (/home/leonardo/Projects Node/nodeserver_infradmin/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)

at Query.ErrorPacket (/home/leonardo/Projects Node/nodeserver_infradmin/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)



code: ER_INVALID_JSON_TEXT,

errno: 3140,

sqlMessage: Invalid JSON text: Missing a comma or } after an object member. at position 33 in value for column infradmin_rt.disks.,

sqlState: 22032,

index: 0,

Eu entendi que o problema está no “disks”, mas eu realmente não consegui entender onde. Agradeço qualquer luz

2 Respostas

peczenyj

Ola

Um json é um texto cujo formato pode ser transformado em uma estrutura que o seu programa possa usar.

esse nao parece ser o json recebido. vc imprimiu provavelmete a versão ja convertida para objeto e assim fica dificil interpretar.

FearX

Na verdade, chequei de novo e esse é o Json que recebo, antes de passar pro stringfy e tudo mais…

Criado 3 de agosto de 2018
Ultima resposta 3 de ago. de 2018
Respostas 2
Participantes 2