Присвоение переменной значению Python json - PullRequest
0 голосов
/ 18 сентября 2018

Если у меня есть 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()

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

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)
0 голосов
/ 18 сентября 2018

Первое значение в инициализаторе словаря - неправильный синтаксис - должно быть что-то строковое ”Name”: str(name), так же ”Email”: str(email),

...