同じjsonデータを2つの形式で持っています.1つはワンライナーで、2つ目はフォーマットされた出力です。JSON A:
{"id":1, "name":"BoxH", "readOnly":true, "children":[{ "id":100, "name":"Box1", "readOnly":true, "children":[ { "id":1003, "name":"Box2", "children":[ { "id":1019, "name":"BoxDet", "Ids":[ "ABC", "ABC2", "DEF2", "DEFHD", "LKK" ]}]}]}]}
および JSON B:
{
"id":1,
"name":"BoxH",
"readOnly":true,
"children":[
{
"id":100,
"name":"Box1",
"readOnly":true,
"children":[
{
"id":1003,
"name":"Box2",
"children":[
{
"id":1019,
"name":"BoxDet",
"Ids":[
"ABC",
"ABC2",
"DEF2",
"DEFHD",
"LKK"
]
}
]
}
]
}
]
}
その理由は、コード:
import json
if open('input_file.json'):
output_json = json.load('input_file.json')
Aが投げた場合
ValueError: No JSON object could be decoded
ケース B は正しく動作します。なぜそうなのかと思うだけです。json.load は JSON A と JSON B は同じだと思っていました。両方のケースを機能させるにはどうすればよいですか?