【问题标题】:Printing the objects instead of the keys [duplicate]打印对象而不是键[重复]
【发布时间】:2017-07-12 15:18:52
【问题描述】:
import json


def read_json(filename):

    dt = {}

    fh = open(filename, "r")
    dt = json.load(fh)

    return dt


def print_values_order_by_keys(dt):

    sorted_keys = sorted(dt)
    print sorted_keys


filename = raw_input("Enter the JSON file: ")


r = read_json(filename)

print_values_order_by_keys(r)

我正在尝试按键的字母顺序打印对象。我能够按字母顺序对键进行排序,但是当我打印它们时,它给了我键而不是其中包含的对象。有什么建议吗?

【问题讨论】:

  • 我不是要删除 unicode 的 u,只是尝试在单独的行上打印对象而不是键。我的错,我忘记更改上一个问题的标题

标签: python json key


【解决方案1】:

您需要单独打印字符串;您只是在打印包含字符串的列表的字符串表示形式。

def print_values_order_by_keys(dt):
    print "[%s]" % (', '.join(sorted(dt)),)

【讨论】:

  • 它不起作用...它告诉我“列表”对象不可调用
  • 那我觉得你打错了。
  • 我发现了错误,但它仍然打印出键而不是它包含的对象,并且也在同一行
猜你喜欢
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2013-02-15
相关资源
最近更新 更多