如何从文件中获取所有JSON名称并将其存储到字符串中

如何从文件中获取所有JSON名称并将其存储到字符串中,json,python-3.x,Json,Python 3.x,我想从JSON德里欧霍斯文件中获取所有名称,并将其存储在字符串中,以便播放器可以播放该字符串。现在它一个接一个地播放。所以,请提出一些建议 JSON示例 [ { "id": 1, "name": "JW Marriott Hotel", "country": "IN" }, { "id": 2, "name": "Le Méridien Hotel", "country": "IN" }, { "id": 3, "

我想从JSON德里欧霍斯文件中获取所有名称,并将其存储在字符串中,以便播放器可以播放该字符串。现在它一个接一个地播放。所以,请提出一些建议

JSON示例

[
 {
    "id": 1,
    "name": "JW Marriott Hotel",
    "country": "IN"
  },
  {
    "id": 2,
    "name": "Le Méridien Hotel",
    "country": "IN"
  },
  {
    "id": 3,
    "name": "The Leela Palace Hotel",
    "country": "IN"
  }
]
if "Hospital".lower() in sentence.lower():
# print("Which City?")
# print("1.Surat \n 2.Pune \n 3.Delhi")
        with open("store.txt", 'a') as store:
             store.truncate(0)
         if element['name'].lower() in sentence.lower():
              for items in delhi_hos:
                  name3 = items.get('name')
                  print(name3)
                  my_text = "Near is " + name3
                  my_obj = gTTS(text=my_text, lang=language, slow=False)
                  my_obj.save("welcome.mp3")
                  os.system("mpg123.exe welcome.mp3")
                  with open("store.txt", "r+") as text_file:
                       text_file.truncate(0)
我的代码

[
 {
    "id": 1,
    "name": "JW Marriott Hotel",
    "country": "IN"
  },
  {
    "id": 2,
    "name": "Le Méridien Hotel",
    "country": "IN"
  },
  {
    "id": 3,
    "name": "The Leela Palace Hotel",
    "country": "IN"
  }
]
if "Hospital".lower() in sentence.lower():
# print("Which City?")
# print("1.Surat \n 2.Pune \n 3.Delhi")
        with open("store.txt", 'a') as store:
             store.truncate(0)
         if element['name'].lower() in sentence.lower():
              for items in delhi_hos:
                  name3 = items.get('name')
                  print(name3)
                  my_text = "Near is " + name3
                  my_obj = gTTS(text=my_text, lang=language, slow=False)
                  my_obj.save("welcome.mp3")
                  os.system("mpg123.exe welcome.mp3")
                  with open("store.txt", "r+") as text_file:
                       text_file.truncate(0)
我希望JSON文件中的名称是这样的字符串

"JW Marriott Hotel Le Méridien Hotel The Leela Palace Hotel" 
然后将其存储在变量中

var = "JW Marriott Hotel Le Méridien Hotel The Leela Palace Hotel"
所以,我可以使用var作为我的播放器播放这个字符串的输入。
我的主要问题是将所有名称转换成这个字符串

我希望这能解决您的问题。如果出现任何错误,请添加适当的缩进

 import functools
    obj = [
     {
        "id": 1,
        "name": "JW Marriott Hotel",
        "country": "IN"
      },
      {
        "id": 2,
        "name": "Le Méridien Hotel",
        "country": "IN"
      },
      {
        "id": 3,
        "name": "The Leela Palace Hotel",
        "country": "IN"
      }
    ]

    var = functools.reduce(lambda a, b : a + " " + b["name"], obj, "")
    print(var)

我不知道我是否理解你的问题。但据我所知,您只需要将JSON中namefield的值字符串化。 我想知道为什么What’s解决方案不能按预期工作。 我想到的最简单的解决方案是:

names = ""      
for item in delhi_hos:
    names += item['name']

当事情不顺利时,我建议从一个小问题开始。首先添加一个打印,当它工作时,分配变量,然后添加if语句等等!好看

这个问题似乎可以简化。JSON部分看起来没有任何问题,所以您实际上只是在问如何一次播放一堆声音文件。是这样吗?如果是这样的话,您可能想看看几个类似的问题:不,先生,在代码中,您可以看到我从JSON获取所有名称,并存储在“name3”变量中。我再次将其与一些文本一起存储在“my_text”中。然后将此文本转换并存储到“Welcome.mp3”文件中。但问题是,它从文件中提取一个名称并存储,然后将其转换为mp3,然后播放。它对所有的名字都这样做。我希望它把所有的名字放在一起,存储,转换,播放。我不想要多个声音文件,一个就够了。对不起,我想我不明白你想做什么。也许编辑一些样本数据并输出到问题中会有所帮助?我想现在每个人都能理解这个问题了。谢谢,兄弟。从中学习了一些新方法。谢谢兄弟。我完全得到了答案。