2016-09-03 8 views
2

Ich muss eine JSON-Daten mit AWS Lambda drucken. dies ist mein CodeAWS Lambda Return JSON Daten mit Schrägstrichen

'use strict'; 
console.log('Loading function'); 

exports.handler = (event, context, callback) => { 

    var addon = require('./path/to/addon'); 
    var sampleData=addon.getSampleData(userId); 
    console.log(sampleData); // it will print correct json data 
    //var sampleData="{ \"data\":{ \"key1\": \"1472722877992\", \"key2\": [ 814, 809] }}"; 

    callback(null, sampleData); 
}; 

i Ausgabe wie diese

"{ \"data\":{ \"key1\": \"1472722877992\", \"key2\": [ 814, 809] }}" 

Bu bekam muss ich eine Ausgabe wie diese

"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}" 

in diesem Code bekommen, habe ich eine npm Bibliothek addon mit C++ - Code. und getSampleData ist eine Methode in C++ - Code. Es wird eine JSON formatierte Zeichenfolge (kein JSON-Objekt) zurückgegeben. In meinem Node.js-Code, Konsolenprotokoll print Korrekte JSON-Zeichenfolge.

Aber Ausführen dieser Lambda-Funktion Rücksendung der Ausgabe mit Schrägstrichen. Wie man dieses Problem löst.

Antwort

2

"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}" ist keine gültige Zeichenfolge. Es ist eine doppelte Anführungszeichenfolge mit eingebetteten doppelten Anführungszeichen. Das ist nicht gültig.

Haben Sie versucht, einfache Anführungszeichen für die Zeichenfolge, wie dies?

var sampleData='{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}';

Oder haben Sie versucht, nur ein JSON-Objekt wie folgt Rückkehr?

var sampleData={ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }};


bearbeiten basierend auf neuen Informationen in Frage:

Probieren Sie die Zeichenfolge in ein JSON-Objekt wie diese Umwandlung:

callback(null, JSON.parse(sampleData));

+0

dank markieren, aber in mein Fall, ich habe JSON formatiert String aus einer Methode. console.log druckt korrekte Daten. aber das Ergebnis ist falsch. Frage aktualisiert –

+0

@AbdulManaf siehe mein Update –