Untitled-9.jsonをインプットにjson→dict.pyを実行した結果以下のような出力結果となります。
『\n 』の部分が残り、うまく階層構造を表現できません。
綺麗に階層表示(\nで改行して半角スペース4つあける)する方法がありましたらご教示願います。
環境:Python3
OS:windows10
◆Untitled-9.json
{"sourcesContent":["existingLambdaObj: this.lambdaFunction,\n dynamoTableProps: props.dynamoTableProps\n });\n this.dynamoTable = lambdaToDynamoDB.dynamoTable;\n }\n}"]}
◆json→dict.py
import json #JSON ファイルの読み込み f = open('Untitled-9.json', 'r') json_dict = json.load(f) print('json_dict:{}'.format(type(json_dict))) print(json_dict)
□出力結果
json_dict:<class 'dict'> {'sourcesContent': ['existingLambdaObj: this.lambdaFunction,\n dynamoTableProps: props.dynamoTableProps\n });\n this.dynamoTable = lambdaToDynamoDB.dynamoTable;\n }\n}']}
"綺麗に階層表示"では他人に伝わりません。
元のJSONからデータを変えてしまってもいい、データとして違うものになってもいい、Pythonのリテラルとして解釈できなくていい、とにかく見目よく出したいということでしょうか?
『\n 』を取り除くことがデータが変わるということなんですね?
私は、てっきり辞書型に変換できれば自動で『\n 』が取り除かれると思っていました。
なぜなら、辞書型で処理するときにkeyを指定してvalueをgetしたいと思いますので
『\n 』が不要と考えたからです。
辞書型で『\n 』を残るのがよくわかっていません。
Stringならシリアルに扱いたいので『\n 』で改行というのがわかる方がいいと思いますが
辞書型って階層も表現されたものが出力されると考えていました。
なので辞書型で『\n 』が変換されると思っています。
回答3件
あなたの回答
tips
プレビュー