如何从文件中获取所有JSON名称并将其存储到字符串中
我想从JSON德里欧霍斯文件中获取所有名称,并将其存储在字符串中,以便播放器可以播放该字符串。现在它一个接一个地播放。所以,请提出一些建议 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, "
[
{
"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,然后播放。它对所有的名字都这样做。我希望它把所有的名字放在一起,存储,转换,播放。我不想要多个声音文件,一个就够了。对不起,我想我不明白你想做什么。也许编辑一些样本数据并输出到问题中会有所帮助?我想现在每个人都能理解这个问题了。谢谢,兄弟。从中学习了一些新方法。谢谢兄弟。我完全得到了答案。