2016-10-19 1 views
1

Ich benutze Bleno (ein Knoten js BLE-Paket) und es verwendet Puffer, um Daten zu senden und zu empfangen. Wie gehe ich vor, um ein Pufferobjekt zu erhalten und es in JSON umzuwandeln? Dies ist, was ich jetzt habe:Javascript von Puffer zu JSON

bufferToJson = buffer.toString(); 
bufferToJson = JSON.stringify(bufferToJson) 
bufferToJson = JSON.parse(bufferToJson) 

Puffer ist, wo die Daten sind. Ein Beispiel dafür, was Puffer sein kann, ist {cmd:'echo'} Ich habe versucht bufferToJson.cmd und nur undefine. Vielen Dank.

+0

was die Wert von 'buffer.toString()' - ist es das, was Sie erwarten? –

+2

JSON kann keine Binärdaten codieren. Sie sollten Ihren Puffer analysieren (wahrscheinlich als UTF8) oder base64 verwenden. – SLaks

+0

{cmd: 'echo'} ist nicht gültig json. cmd und echo brauchen doppelte Anführungszeichen. Sie könnten eval verwenden. – adrianj98

Antwort

1

Wenn Ihr Puffer Objekt eine gültige Darstellung eines JSON enthält, dann ist der einfachste Weg, es zu konvertieren, wie so wäre:

let json = JSON.parse(buffer); 
0

folgende Arbeiten:

var bufferToJson = JSON.parse(myBuffer.toString());