Лямбда-функция возвращает объект JSON в виде строки в AppSync - PullRequest
1 голос
/ 10 октября 2019

У меня есть приложение для чаши, и в этом приложении для меня есть лямбда-функция. Эта лямбда-функция является источником данных для моего приложения AppSync. Когда я делаю запрос и возвращаю ответ от функции Lmabda, объект JSON возвращается как строка, а не как объект JSON. Я пробовал так много раз, но ничего не получалось.

Это то, что я возвращаю из лямбда-функции:

'''
 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}"
    }
  }
}
'''

"результат "объект должен быть сам объект JSON, но получает строку. У кого-нибудь есть идеи, что здесь не так?

Спасибо

1 Ответ

1 голос
/ 10 октября 2019

Если я правильно понимаю ваш вопрос, чтобы превратить словарь в строку JSON, просто используйте json.dumps. С учетом следующего ввода:

 result = {
                    'service': 'A',
                    'version': 'B',
                    'requestID': 'C',
                    'result': {
                        'creditDecisionRecommendation': 'D',
                        'creditScore': 123,
                        'creditLimit': 4
                    }
                }

вам просто нужна эта строка:

import json
json.dumps(result)

и дает строковое представление JSON словаря result (который является объектом JSON):

'{"service": "A", "version": "B", "requestID": "C", "result": {"creditDecisionRecommendation": "D", "creditScore": 123, "creditLimit": 4}}'

Примечание : В python каждый словарь по своей природе является объектом JSON.

...