Python Lambda函数将JSON对象作为字符串返回给AppSync

Python Lambda函数将JSON对象作为字符串返回给AppSync,python,aws-appsync,Python,Aws Appsync,我有一个chalice应用程序,在这个chalice应用程序中,我有一个lambda函数。此lambda函数是我的AppSync应用程序的数据源。当我从Lmabda函数发出请求并返回响应时,JSON对象将作为字符串而不是JSON对象返回。我试了很多次,但都没有成功 这是我从lambda函数返回的内容: ''' result = { 'service': service, 'version': version,

我有一个chalice应用程序,在这个chalice应用程序中,我有一个lambda函数。此lambda函数是我的AppSync应用程序的数据源。当我从Lmabda函数发出请求并返回响应时,JSON对象将作为字符串而不是JSON对象返回。我试了很多次,但都没有成功

这是我从lambda函数返回的内容:

'''
 result = {
                    'service': service,
                    'version': version,
                    'requestID': request_id,
                    'result': {
                        'creditDecisionRecommendation': credit_decision_recommendation,
                        'creditScore': bureau_score,
                        'creditLimit': limit
                    }
                }
'''
…这就是我得到的回答:

'''
{
  "data": {
    "postKaubamaja": {
      "service": "kaubamaja-custom-scoring",
      "version": "1.0",
      "result": "{\"creditDecisionRecommendation\":\"accept\",\"creditScore\":10.8,\"creditLimit\":612.1275}"
    }
  }
}
'''
“result”对象本身应该是一个JSON对象,但会得到一个字符串。 有人知道这里出了什么问题吗


谢谢

如果我正确理解了你的问题,要将字典转换成JSON字符串,只需使用
JSON.dumps
。考虑到以下输入:

 result = {
                    'service': 'A',
                    'version': 'B',
                    'requestID': 'C',
                    'result': {
                        'creditDecisionRecommendation': 'D',
                        'creditScore': 123,
                        'creditLimit': 4
                    }
                }
你只需要这句话:

import json
json.dumps(result)
并给出dictionary
result
(这是一个JSON对象)的JSON字符串表示形式:


注意:在python中,每个字典本质上都是一个JSON对象。

添加函数的完整代码,以及输入和预期的output@uuzzairr同意,如果您想要解析,请发布您的源代码。我知道如何将字符串转换为JSON,反之亦然。我尝试过不同的选择。我使用AppSynch和lambda函数作为数据源,并使用GraphQL从API查询结果。发生的事情是,它将一个dictionary对象转换为字符串,即使我将其作为dictionary返回。我尝试了几种方法,但都不管用。也许这与GraphQL有关?
'{"service": "A", "version": "B", "requestID": "C", "result": {"creditDecisionRecommendation": "D", "creditScore": 123, "creditLimit": 4}}'