json.dumps()
出力を ipython ノートブック内で「かなり」フォーマットされた JSON として表示する既存の方法はありますか?
質問する
51556 次
6 に答える
90
json.dumps
結果をindent
出力するだけで十分です。
print(json.dumps(obj, indent=2))
于 2013-09-18T13:08:02.557 に答える
37
import uuid
from IPython.display import display_javascript, display_html, display
import json
class RenderJSON(object):
def __init__(self, json_data):
if isinstance(json_data, dict):
self.json_str = json.dumps(json_data)
else:
self.json_str = json_data
self.uuid = str(uuid.uuid4())
def _ipython_display_(self):
display_html('<div id="{}" style="height: 600px; width:100%;"></div>'.format(self.uuid), raw=True)
display_javascript("""
require(["https://rawgit.com/caldwell/renderjson/master/renderjson.js"], function() {
document.getElementById('%s').appendChild(renderjson(%s))
});
""" % (self.uuid, self.json_str), raw=True)
データを折りたたみ可能な形式で出力するには:
RenderJSON(your_json)
ここから貼り付けたコピー: https://www.reddit.com/r/IPython/comments/34t4m7/lpt_print_json_in_collapsible_format_in_ipython/
于 2016-05-09T19:47:14.857 に答える
5
@Kyle Barronの回答に展開された変数を追加しているだけです:
from IPython.display import JSON
JSON(json_object, expanded=True)
于 2018-09-07T20:26:52.043 に答える
3
\n
出力でリテラル sを削除する方法を探しているこのページを見つけました。Jupyter を使用してコーディング インタビューを行っています。私のバージョンの Jupyter (4.1.0) では、実際の改行としてレンダリングされません。私が作成した解決策は(これが最善の方法ではないことを願っていますが...)
import json
output = json.dumps(obj, indent=2)
line_list = output.split("\n") # Sort of line replacing "\n" with a new line
# Now that our obj is a list of strings leverage print's automatic newline
for line in line_list:
print line
これが誰かに役立つことを願っています!
于 2016-04-29T14:42:53.133 に答える