私のjsonファイルは辞書形式です。私はそれを私のPythonに読み込みたいと思います。これは私の元のファイルです。python:json辞書を間違った形式で読む
fruit.json:
{
"Q":"Is it red?",
"yes":{
"answer":"apple"
},
"no":{
"Q":"Is it yellow",
"yes":{
"answer":"banana"
},
"no":{
"Q":"Is it sweet?",
"yes":{
"answer":"mango"
},
"no":{
"Q":"Bigger than strawberry?",
"yes":{
"answer":"lemon"
},
"no":{
"answer":"blueberry"
}
}
}
}
}
それらを読んだ後、私はそれがあまりにも同じ形式でそれらを印刷することが可能かどうかを知りたいです。
コード:秒の
import json
import sys
s = json.loads(open(r'C:\Users\makiyo\fruit.json').read())
print(s)
print(type(s))
print("--------")
print(json.dumps(s, indent=4), file=sys.stderr)
タイプは辞書です:
{'Q': 'Is it red?', 'no': {'Q': 'Is it yellow', 'no': {'Q': 'Is it sweet?', 'no': {'Q': 'Bigger than strawberry?', 'no': {'answer': 'blueberry'}, 'yes': {'answer': 'lemon'}}, 'yes': {'answer': 'mango'}}, 'yes': {'answer': 'banana'}}, 'yes': {'answer': 'apple'}}
出力:
{
"Q": "Is it red?",
"no": {
"Q": "Is it yellow",
"no": {
"Q": "Is it sweet?",
"no": {
"Q": "Bigger than strawberry?",
"no": {
"answer": "blueberry"
},
"yes": {
"answer": "lemon"
}
},
"yes": {
"answer": "mango"
}
},
"yes": {
"answer": "banana"
}
},
"yes": {
"answer": "apple"
}
}
これはfruit.jsonから形式ではありません、私はしないでくださいこのように「はい」/「いいえ」の場所を変更する理由を知ってください。
を!しかし、私はまだこれと一緒に動作する理由を学ぶ必要があります:)私は質問がある、私はマンダリンにある別のjsonファイルがあり、エンコーディングは全く心配無用です!しかし、それが生のものを印刷するとき、イエスとノーのいくつかは正面に2つのタブを持っています。フォーマットはほぼ同じですが、行の一部だけがもう1つタブを見つけられるかもしれません。それとも私のjsonファイルの問題ですか?ありがとうございました! :) – Makiyo
私は別のエンコーディングでは何もしていないので、あまり助けになることはできません。 –