【发布时间】:2018-08-19 06:19:47
【问题描述】:
我有 json 输出,我想将其转换为以下格式。我正在使用 ast.literaleval,我希望按 id 和单引号中的名称排序。我使用ordered dict来获得所需的顺序,但不确定如何将双引号转换为单引号以获得所需的输出。任何帮助表示赞赏。我正在使用 Python。
json_result=[{"name":"sample name","id":77}]
desired_output=[{'id':77,'name':'sample name'}]
【问题讨论】:
-
你应该解释为什么你想要这个。这是无效的 JSON,并且 dicts 是无序的。
-
感谢您的评论。很抱歉无法正确解释我的问题。我想做的是更改键的顺序?如何实现?我将它转换为命令字典,但是当我将它转换回字典时。它正在恢复旧格式。
-
当然,当您转换回常规字典时,它会失去顺序,字典对象本质上是无序的。如果您想保持秩序,请使用有序的数据结构。转换为有序数据结构并返回无序数据结构不会神奇地使无序数据结构有序。这看起来像是
collections.namedtuple的一个很好的用例,例如 -
你为什么使用
ast.literal_eval?如果那个是 JSON,那么json不是更好的选择吗?以'True' != 'true'为例。
标签: python json double-quotes ordereddictionary single-quotes