python - 查找 json 键以在 python 中打印不带括号的内容

标签 python json

我是 python/编程的新手,更像是 json 的菜鸟。

我正在为我的副项目制作一个字典应用程序,它工作正常,我可以搜索单词并获得它们的定义,但我想让它变得完美,我希望结果对最终用户来说是可读的(我知道缩进,但我不希望括号和所有 json 格式出现在结果中)

所以这是我从中提取数据的 json:

{
 "Bonjour": {
  "English Word": "Hello",
  "Type of word": "whatever",
  "Defintion": "Means good day",
  "Use case example": "Bonjour igo",
  "Additional information": "BRO"
 }
}

这是我用来获取值的代码(它不起作用),在这种情况下,“搜索”变量 = 到“Bonjour”(这是用户输入)

currentword = json.load(data) #part of the "with open..."


for definition in currentword[search]['English Word', 'Definition', 'Use case example']:
    print(definition)

我得到的错误如下:

KeyError: ('English Word', 'Definition', 'Use case example')

现在我不确定“Bonjour”是键还是“English Word”等...是键,如果不是,“Bonjour”是什么

无论如何,我希望它打印“English Word”的值,最好是“English Word - VALUE/DEFINITION”

感谢您的帮助

最佳答案

从您的问题来看,您似乎只想从现有字典中提取一些键值对。

尝试如下:

data = {
 "Bonjour": {
  "English Word": "Hello",
  "Type of word": "whatever",
  "Definition": "Means good day",
  "Use case example": "Bonjour igo",
  "Additional information": "BRO"
  }
  }

currentword = data
search = "Bonjour"

result = dict((k, currentword[search][k]) for k in ['English Word', 'Definition', 'Use case example'])

for k,v in result.items():
    print k + ":" + v

结果:

Definition:Means good day 
English Word:Hello 
Use case example:Bonjour igo

关于python - 查找 json 键以在 python 中打印不带括号的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54265592/

相关文章:

ios - 如何使用嵌套的 NSDate 属性将 Realm 对象转换为 JSON?

java - Spring中的POST方法不接受application/json

c# - WebApi 中的 JSON.NET 序列化错误

Python unicode 解码错误 SUD

python - Paramiko SSH exec_command(shell脚本)在完成前返回

python - 从包含 100,000 个整数的列表中检索两个最高的项目

python - 值错误 : unsupported format character in mysql scrapy pipline

c++ - Cython:如何移动大对象而不复制它们?

json - 'docker images' 使用 --format 输出为 json

javascript - 构建动态 TreeMap