JSON для строки в python

#python #string

#python #строка

Вопрос:

в моем проекте есть часть, использующая python, где я получаю объект JSON, получаю эти значения и преобразую их в строку.

Мой ввод будет:

 data = {
        "date":'12.04.2019',
        "time":'06 am',
        "event":'Complete project'
        }
  

Мой вывод должен быть:

 On 12.04.2019, 06 am the reminder is to Complete project
  

Я пробовал разные методы преобразования значений JSON в строку, но я получаю какие-то ошибки.

Комментарии:

1. Какие ошибки? Что вы пробовали?

2. print('On ' data['date'] ', ' data['time'] ' the reminder is to ' data['event']) должен это сделать!

3. На самом деле это даже не JSON, это словарь

4. @roganjosh, в MongoDB используется файловая структура JSON, и я присвоил результирующие данные из базы данных локальной переменной ‘data’

5. Спасибо @pistol2myhead, это сработало

Ответ №1:

это не объект Json, это словарь, поэтому вы можете напрямую обращаться к ключам в нем, т.е.

 res="On " str(data['date']) ", " str(data['time']) "the reminder is to" str(data['event'])
print(res)
  

вы также можете использовать date.get(‘date’), чтобы получить значение определенного ключа, они оба одинаковые

для получения дополнительной информации о словарях:https://www.w3schools.com/python/python_dictionaries.asp

для получения дополнительной информации об объектах Json: https://www.w3schools.com/python/python_json.asp

Комментарии:

1. Пожалуйста, пожалуйста, пожалуйста, не используйте w3schools в качестве ресурса. Там просто слишком много мусора :/

2. «Вот вся информация о массивах python, которых у него нет (но на самом деле есть), но мы все равно будем называть их массивами, когда мы на самом деле имеем в виду списки» ужасный сайт.

3. Да, просто избегайте этого сайта. Это чушь.

4. Понял, я буду избегать этого в своих следующих ответах. Спасибо

Ответ №2:

Начиная с python 3.6, вы можете использовать f строк:

 print(f"On {data['date']}, {data['time']} the reminder is to {data['event']}")
  

Если у вас нет python 3.6 или выше, я предлагаю вам использовать форматирование:

 print("On %s, %s the reminder is to %s" %(data['date'], data['time'], data['event']))
  

Ответ №3:

data это не объект JSON dictionary , поэтому вы можете извлекать данные с помощью ключей.

Пример кода:

 data = {
        "date":'12.04.2019',
        "time":'06 am',
        "event":'Complete project'
        }

print("On "  data["date"] ","  data["time"]  " the reminder is to "  data["event"])
  

Вывод:

 On 12.04.2019,06 am the reminder is to Complete project