aws lambda return json 带斜杠的数据
aws lambda return json data with slashes
我需要使用 aws lambda 打印 json 数据。这是我的代码
'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);
};
我得到了这样的输出
"{ \"data\":{ \"key1\": \"1472722877992\", \"key2\": [ 814, 809] }}"
我需要这样的输出
"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}"
在这段代码中,我使用 C++ 代码创建了一个 npm 库 addon。 getSampleData 是 c++ 代码中的一种方法。它将 return 一个 json 格式的字符串(不是 json 对象)。在我的 node.js 代码中,控制台日志打印
正确 json 字符串。
但是执行这个 lambda 函数 returnd 输出带有斜杠。如何解决这个问题。
"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}"
不是有效的字符串。它是一个双引号字符串,其中嵌入了非转义双引号。那是无效的。
您试过像这样对字符串使用单引号吗?
var sampleData='{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}';
或者您试过像这样只返回一个 JSON 对象吗?
var sampleData={ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }};
根据相关新信息进行编辑:
尝试将字符串转换为 JSON 对象,如下所示:
callback(null, JSON.parse(sampleData));
我需要使用 aws lambda 打印 json 数据。这是我的代码
'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);
};
我得到了这样的输出
"{ \"data\":{ \"key1\": \"1472722877992\", \"key2\": [ 814, 809] }}"
我需要这样的输出
"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}"
在这段代码中,我使用 C++ 代码创建了一个 npm 库 addon。 getSampleData 是 c++ 代码中的一种方法。它将 return 一个 json 格式的字符串(不是 json 对象)。在我的 node.js 代码中,控制台日志打印 正确 json 字符串。
但是执行这个 lambda 函数 returnd 输出带有斜杠。如何解决这个问题。
"{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}"
不是有效的字符串。它是一个双引号字符串,其中嵌入了非转义双引号。那是无效的。
您试过像这样对字符串使用单引号吗?
var sampleData='{ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }}';
或者您试过像这样只返回一个 JSON 对象吗?
var sampleData={ "data":{ "key1": "1472722877992", "key2": [ 814, 809] }};
根据相关新信息进行编辑:
尝试将字符串转换为 JSON 对象,如下所示:
callback(null, JSON.parse(sampleData));