Создайте JSON из списка в Python

У меня есть список с кучей предложений, как показано ниже:

["Привет, как дела", "Ты прекрасно выглядишь сегодня", "У тебя уродливые туфли", "Твоя мама такая толстая, что..."]

Я хочу использовать API Azure Cognitive Services, который ожидает, что его запрос будет в следующей форме:

{
  "documents": [
    {
      "language": "en",
      "id": "1",
      "text": "Hello, how are you"
    },
    {
      "language": "en",
      "id": "2",
      "text": "You look great today"
    },
    {
      "language": "en",
      "id": "3",
      "text": "Your momma so fat she..."
    }
  ]
}

Я понятия не имею, как создать вложенный json из плоского списка. Мне нужно было бы иметьid увеличиваться для каждого элемента в списке и language быть en для каждого элемента в списке.

Любая помощь или ссылки будут оценены

1 ответ

Решение

Если мне что-то не хватает в вашем вопросе, вероятно, было бы проще всего выполнить итерацию по массиву при создании нужного вам JSON. Python позволяет создавать такие массивы, как:

[something(i) for i in someArray]

Для вашего примера вы, вероятно, могли бы сделать что-то вроде:

yourText = ["There is text", "in this array", "please convert it!"]

yourJSON = {"documents" : [{ "language" : "en", "id" : str(idx + 1), "text": val} for idx, val in enumerate(array)]}
Другие вопросы по тегам