Если у меня есть Python JSON, и я хочу присвоить переменную одному из значений в Python JSON,

if booking.hotel.feedback_option == True:
                name = request.GET.get('firstname')
                email= request.GET.get('email')
                values = """
                  {
                    "Name" ="'+str(name)+'",
                    "HasExternalDoubleOptIn": true,
                    "Email"="'+str(email)+'",
                    "CustomFields": [
                    "Checkout=2018-09-07"
                    ]
                  }
                """
                headers = {
                  'Content-Type': 'application/json',
                  'Accept': 'application/json'
                }
                data = values.encode()
                req = Request('https://api.moosend.com/v3/subscribers/7c343r9ad-er56-4c51-810e-74e27f8505c2/subscribe.json?apikey=77f343914-4t3c-4d61-8435-9346f5b4adf6', data=data, headers=headers)
                response_body  = urlopen(req).read()
0
Luke Luvevou 18 Сен 2018 в 09:57

2 ответа

Лучший ответ

IIUC, лучший способ сделать это было бы создать словарь Python и затем преобразовать в JSON:

import json

name = 'Something'
email = 'Something else'

values = {
          "Name": name,
          "HasExternalDoubleOptIn": True,
          "Email": email,
          "CustomFields": [
                    "Checkout=2018-09-07"
                    ]
          }

values = json.dumps(values)
1
roganjosh 18 Сен 2018 в 07:18

Первое значение в инициализаторе словаря - неправильный синтаксис - должно быть что-то строковое {{Х0}} так же { { Х1 }}

0
barny 18 Сен 2018 в 07:01