gpt4 book ai didi

json - aws lambda node js返回对象实例的转义JSON

转载 作者:太空宇宙 更新时间:2023-11-03 23:23:32 24 4
gpt4 key购买 nike

我有这个简单的类定义:

function FlatField(id, content) {

if ( content === undefined ) content = '';

this.id = id;
this.content = content;

}

在AWS lambda中,为什么会出现以下代码

exports.handler = (event, context, callback) => {
var test = { id: 103, content: "fred" };
callback(null, test );
};

返回以下干净的 JSON

{
"id": 103,
"content": "fred"
}

而下面的代码

exports.handler = (event, context, callback) => {
var test = new FlatField( 103, 'fred' );
callback(null, test );
};

将返回以下转义的 JSON

"{\"id\":103,\"content\":\"fred\"}"

谢谢

最佳答案

看来您已经证明下游的一些序列化代码对于对象文字与构造函数的工作方式不同!虽然这很恶心,但你必须这样做:

exports.handler = (event, context, callback) => {
var test = new FlatField( 103, 'fred' )
callback(null, JSON.parse(JSON.stringify(test)) )
}

我想你可以为自己创建一个实用函数来处理这个问题。

我会考虑使 Flatfield 成为一个返回对象文字的普通函数。然后问题就消失了:

function flatField(id, content) {
if ( content === undefined ) content = ''
return {id,content}
}

关于json - aws lambda node js返回对象实例的转义JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47100402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com