【问题标题】:Decoding Json online to string in Python在线解码Json到Python中的字符串
【发布时间】:2018-03-04 21:25:11
【问题描述】:

我想解码这个 json https://deathsnacks.com/wf/data/voidtraders.json

[{u'Node': u'Kronia Relay (Saturn)', u'NodeIndex': 0, u'ManifestIndex': 0, u'Manifest': None, u'Activation': {u'usec': 0, u'sec': 1520604000}, u'Character': u"Baro'Ki Teel", u'Expiry': {u'usec': 0, u'sec': 1520773200}, u'_id': {u'id': u'5967933ca351963d1cd7faa5'}, u'Config': None, u'NextRotation': None}]

用 Python 得到这样的回复

Node: Kronia Relay (Saturn)
Activation: X min
Character: Baro'Ki Teel
Expiry: X min

等等等等

【问题讨论】:

  • 你的问题到底是什么?
  • @jhpratt 我有这个在线 json,我需要为电报机器人解析它,所以以人类可读的方式。 johnashu,我试过一个基本的 json import urllib, json url = "deathsnacks.com/wf/data/voidtraders.json" response = urllib.urlopen(url) data = json.loads(response.read()) print data 但我不知道怎么做格式化。

标签: python json decode


【解决方案1】:
import requests, json, pprint
r = requests.get('https://deathsnacks.com/wf/data/voidtraders.json').text
data = json.loads(r)
pprint.pprint(data)

[{'Activation': {'sec': 1520604000, 'usec': 0},
  'Character': "Baro'Ki Teel",
  'Config': None,
  'Expiry': {'sec': 1520773200, 'usec': 0},
  'Manifest': None,
  'ManifestIndex': 0,
  'NextRotation': None,
  'Node': 'Kronia Relay (Saturn)',
  'NodeIndex': 0,
  '_id': {'id': '5967933ca351963d1cd7faa5'}}]

您还可以遍历字典项:

for key,value in data.items():
    print('{}: {}'.format(key, value))

【讨论】:

  • 谢谢!比我的简单代码更好。你能给我一个包含字典的指南吗?我的目标是从 [{' 等非必要字符中清除 json 另外,它是一个动态 json,它会随着更多信息而变化,所以我应该将所有信息定义到字典中以避免任何问题。
  • 字典只是一种涉及键值对的数据类型。您可以使用括号表示法访问字典项的值:my_dict[item] 返回value。由于您的数据在变化,因此只需循环请求数据和存储数据的整个过程即可。
  • 非常感谢您的帮助!!
猜你喜欢
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 2012-09-12
  • 2019-04-03
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多